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

时间:2017-03-13 13:57:23

标签: regex comma

朋友。我有两种句子,后面跟一个逗号,不带逗号:

$item_id = 5869,

$item_id = 3456

我只想查找那些不包含逗号的内容,例如3456之类的内容。

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

任何人都可以帮我一点吗?

2 个答案:

答案 0 :(得分:1)

如果您的数据分开,您可以使用

^\$item_id *= *\d+$

此处,^将匹配行开头,$将匹配行结束, *将匹配0+空格。注意我没有使用\s以便不跨行匹配。

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

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

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

此处,如果在最后一位数字后面有逗号,则\d++(?!,)将占有1位数并且(?!,)否定前瞻将使整个匹配失败。 \d+\b(?!,)将以类似的方式工作,但\b - 字边界 - 在最后一个数字与\d+匹配后将需要非字母字符串或字符串结尾。

答案 1 :(得分:-1)

为避免部分匹配,请在结尾附加$,请尝试以下操作:

^[0-9]*$