正则表达式:Select 个不包含逗号的单词/数字

Regex: Select words /numbers that does NOT CONTAIN Comma

朋友。我有两种句子,数字后跟逗号,不带逗号:

$item_id = 5869,

$item_id = 3456

我只想查找不包含逗号的那些,例如 3456.

我做了一个正则表达式,但不是很好($item_id \=\s)\d+(?:)[^,]

谁能帮我一点忙?

为避免部分匹配,请在末尾附加一个 $,试试这个:

^[0-9]*$

如果您的数据在不同的行上,您可以使用

^$item_id *= *\d+$

这里,^匹配行首,$匹配行尾, *匹配0+空格。注意我没有使用 \s 以免跨行匹配。

如果你想匹配$item_id=123类可能在一行中出现多次的子串,你可以使用

$item_id *= *\d++(?!,)

$item_id *= *\d+\b(?!,)

在这里,\d++(?!,) 将所有格地匹配 1 个以上的数字,如果最后一个数字后有逗号,则 (?!,) 否定前瞻将使整个匹配失败。 \d+\b(?!,) 将以类似的方式工作,尽管 \b - 单词边界 - 在与 \d+.[=23= 匹配的最后一个数字之后需要非单词字符或字符串结尾]