Regex 正则表达式:选择不包含逗号的单词/数字
朋友们。我有两种句子,一种是数字,一种是逗号,另一种是不带逗号:Regex 正则表达式:选择不包含逗号的单词/数字,regex,comma,Regex,Comma,朋友们。我有两种句子,一种是数字,一种是逗号,另一种是不带逗号: $item\u id=5869, 及 $item\u id=3456 我只想找到那些不包含逗号的,比如3456 我做了一个正则表达式,但它不是很好(\$item\u id\=\s)\d+(?:)[^,] 有人能帮我一点忙吗?要避免部分匹配,请在末尾附加$,尝试以下操作: ^[0-9]*$ 要避免部分匹配,请在结尾追加$,请尝试以下操作: ^[0-9]*$ 如果您的数据在单独的行中,您可以使用 ^\$item_id *= *\d
$item\u id=5869,
及
$item\u id=3456
我只想找到那些不包含逗号的,比如3456
我做了一个正则表达式,但它不是很好(\$item\u id\=\s)\d+(?:)[^,]
有人能帮我一点忙吗?要避免部分匹配,请在末尾附加$,尝试以下操作:
^[0-9]*$
要避免部分匹配,请在结尾追加$,请尝试以下操作:
^[0-9]*$
如果您的数据在单独的行中,您可以使用
^\$item_id *= *\d+$
\$item_id *= *\d++(?!,)
这里,^
将匹配行首,$
将匹配行尾,*
将匹配0+个空格。注意:我没有使用\s
,以免跨行匹配
如果要匹配可能在一行中多次出现的类似子字符串的$item\u id=123
,可以使用
^\$item_id *= *\d+$
\$item_id *= *\d++(?!,)
或
在这里,
\d++(?!,)
将以独占方式匹配1+个数字,(?!,)
如果最后一个数字后面有逗号,则负前瞻将使整个匹配失败。\d+\b(?,)
将以类似的方式工作,尽管\b
-单词边界-将要求在与\d+
匹配的最后一位数字之后使用非单词字符或字符串结尾。如果您的数据位于单独的行上,您可以使用
^\$item_id *= *\d+$
\$item_id *= *\d++(?!,)
这里,^
将匹配行首,$
将匹配行尾,*
将匹配0+个空格。注意:我没有使用\s
,以免跨行匹配
如果要匹配可能在一行中多次出现的类似子字符串的$item\u id=123
,可以使用
^\$item_id *= *\d+$
\$item_id *= *\d++(?!,)
或
在这里,
\d++(?!,)
将以独占方式匹配1+个数字,(?!,)
如果最后一个数字后面有逗号,则负前瞻将使整个匹配失败。\d+\b(?)
将以类似的方式工作,尽管\b
-单词边界-将要求在与\d+
匹配的最后一个数字后面有一个非单词字符或字符串结尾,这是一个分号;)使用锚定:^\$item\u id\s*=\s*\d+$
是,是分号,现在是逗号。维克托,我试试你的正则表达式,不管用。你怎么用那个正则表达式?哪里?如果您的数据不在单独的行中,我认为您需要\$item\u id\s*=\s*\d+\b(?,)
这是一个分号;)使用锚定:^\$item\u id\s*=\s*\d+$
是,是分号,现在是逗号。维克托,我试试你的正则表达式,不管用。你怎么用那个正则表达式?哪里?如果您的数据不在单独的行中,我认为您需要\$item\u id\s*=\s*\d+\b(?)
,但字符串没有item\u id
。\u id
部件是否可选?您需要匹配的字符串中哪些是静态的,哪些是动态的?好的,我明白了:)对不起。但是字符串没有项id
。\u id
部件是否可选?您需要匹配的字符串中哪些是静态的,哪些是动态的?好的,我明白了:)对不起。