我有以下字符串:
tagged.big) AND tagged.medium
我需要从该字符串中提取所有内容,这些内容从有标记开始。并以一个或多个空格或)
这是我当前的正则表达式模式:
tagged\.[\),\S]+
从示例字符串中我期望:
tagged.big
tagged.medium
但现在它返回:
tagged.big)
tagged.medium
我在做什么错以及如何解决?
答案 0 :(得分:2)
在正则表达式中,您使用tagged\.[\),\S]+
,其中包含一个character class,其中)
,逗号和\S
与空白字符不匹配。 \S
还与逗号和)
匹配,因此可以缩短为\S+
。但这太匹配了。
要匹配您的值,您可以使用word character \w
或在字符类中添加允许匹配的内容:
tagged\.\w+
这将匹配
tagged\.
匹配标记。\w+
匹配1个以上的单词字符答案 1 :(得分:1)
最终模式:tagged.[^\W\s]+(您可以在网站上查看更多说明)
因此,它遵循: