带有空格的正则表达式帮助你好
我可以在编辑器中对正则表达式执行我想要的操作,但在将其切换到用于 JMP 时遇到问题。
以下是我需要在编辑器中执行的操作
([E]|[e])[2]|(231)
我似乎无法完全像我在 JMP 中需要的那样开始工作,我得到了以下内容
Regex( :TEXT, "(E2|e2|231\d?)", "\1" )
它会拾取 E2 或 e2 没问题,但对于 231,我需要它仅在其两侧都有空格时才提取。
我一直在社区中查找,但找不到我需要的东西。
在理想的情况下,它会显示该列中的所有结果而不仅仅是一个?
我确信那里有人可以告诉我如何做
数据混合和清理分享和交流结果回复:带有空格的 REGEX 帮助非常感谢您抽出时间。
回复:带有空格的 REGEX 帮助这是一个应该可以得到你想要的东西的公式。您应用此的列必须是字符列。
If( Row() == 1,
getValues = Function( {},
returnVal = "";
If( Contains( :Text, " 231 " ),
returnVal = "321"
);
If( Contains( :Text, " e2 " ),
If( returnVal != "",
returnVal = returnVal || ", "
);
returnVal = returnVal || "e2";
);
If( Contains( :Text, " E2 " ),
If( returnVal != "",
returnVal = returnVal || ", "
);
returnVal = returnVal || "E2";
);
returnVal;
)
);
theValue = getValues();
回复:带有空格的 REGEX 帮助@gzmorgan0 ,
,
两者都以某种形式需要,但特别是对于这个请求,我需要“231”,所以感谢你们俩。
我如何让它搜索所有 3 个,然后将其全部放入一列(如果存在)? 这只是创建多个正则表达式以及串联列的情况吗?
例如,我正在寻找 E2 或 e2 或 231,但它只会返回其中之一。 我想要的是它返回它找到的所有内容?
感谢您的指导和帮助回复:带有空格的 REGEX 帮助@亚历克斯,
标记, @马克贝利,为您提供了在第一个模式“空格+任意数字+空格”中查找任意数字的模式
也许我误读了你的回复,但在我看来你正在寻找特定的序列 space + 231 + space。
如果是,另一种解决方案是使用包含()功能。 代码更具可读性。 注意 REGEX 返回一个字符串,因此如果您想要数字,则需要数()功能。 本文附有具有这两种功能的表格。
If( Contains( :Text, " 231 " ),
231
)

回复:带有空格的 REGEX 帮助此示例显示了根据您提供的示例获取目标第二部分的表达式。
Regex(
"Jsjsjjs 231 jdjdjdj 2377474742311",
"\s(\d+)\s",
"\1"
);
回复:带有空格的 REGEX 帮助@gz摩根()
所以示例文本是
jsjsjjs 231 jdjdjdj 2377474742311
我不希望从第二个数字序列中得到它,只是当两侧都有空格时,它会拾取 2311,而我想要的只是 231(如果有一个)
谢谢回复:带有空格的 REGEX 帮助@亚历克斯,
\s 通常是空格或 \sb 的符号。 但是,如果您提供一行列的示例:文本以及您试图提取的内容,如果它是专有的,请弥补一些。