正则表达式匹配包含问号的所有单词

时间:2017-06-10 02:18:47

标签: regex match

我需要一些帮助来编写一个正则表达式,它将匹配包含一个?在某个地方...单词可以在同一行,理想情况下我会得到这些单词的完整列表,这样我就可以计算实例。

样品

test
test??test
test?test  word ss?dd ?dddd
term_exists??   term_exists??
test
test?test
aaa?  aaaa???

我应该看到如下列表

test??test
test?test
ss?dd
?dddd
term_exists??
term_exists??
test?test
aaa?
aaaa???

基本上所有单词都有?在他们中。

任何帮助都会很棒。几个小时以来一直在敲打我的脑袋。

2 个答案:

答案 0 :(得分:0)

尝试一下:

.*?([a-z_]*\?+[a-z_]*).*?

替换为\1(或$1,具体取决于您使用的语言。)

行动中:https://regex101.com/r/Kr776J/1

为获得最佳效果,请尽可能启用“单线”模式(将(?s)添加到模式或使用语言选项打开标记。)

答案 1 :(得分:0)

根据您的输入字符串,这将准确匹配您所需的所有子字符串:

\w*\?[^\s]*

或更多字面意思:[a-z_]*\?[^\s]*

或大多数字面意思:[a-z_]*\?[a-z?]*

Demo Link(所有仅90步)
CAustin的步骤为159步。