那里有Regex大师吗?我需要一个符合以下条件的Java正则表达式:
“随机文件指定字”
包括引号。
因此我需要
匹配第一个报价,
RANDOMSTUFF(任意数量的单词,在前面的SPECIFICWORD之间有空格)
SPECIFICWORD(在这里我不会指定的特定单词。)
和结尾的报价。
我不想匹配以下内容:
随机文件指定字
“ RANDOMSTUFF NOTTHESPECIFICWORD”
“ RANDOMSTUFF专用字MORERANDOMSTUFF”
最佳答案
\".*\sSPECIFICWORD\"
如果您不想在两者之间使用引号,请使用\"[^"]*\sSPECIFICWORD\"
.
匹配任何字符*
说前面的字符为0或更多(在这种情况下,任何字符为0或更多)\s
匹配任何空格字符
假定没有特殊字符(如果有则转义),SPECIFICWORD
将被视为字符串文字。\"
匹配引号[^"]
表示除引号外的任何字符(^
是使其成为“ except”的原因)
另外,this link可能很有用。正则表达式是功能强大的表达式,几乎可以在所有语言中使用,因此习惯使用它们将是一件好事。
编辑:
正如其他一些发帖人所指出的那样,仅在整行匹配时,才在开头添加^
,在末尾添加$
。^
匹配行的开头$
匹配行尾