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
部件是否可选?您需要匹配的字符串中哪些是静态的,哪些是动态的?好的,我明白了:)对不起。