那里有Regex大师吗?我需要一个符合以下条件的Java正则表达式:

“随机文件指定字”


包括引号。
因此我需要

匹配第一个报价,
RANDOMSTUFF(任意数量的单词,在前面的SPECIFICWORD之间有空格)
SPECIFICWORD(在这里我不会指定的特定单词。)
和结尾的报价。


我不想匹配以下内容:

随机文件指定字
“ RANDOMSTUFF NOTTHESPECIFICWORD”
“ RANDOMSTUFF专用字MORERANDOMSTUFF”

最佳答案

\".*\sSPECIFICWORD\"

如果您不想在两者之间使用引号,请使用\"[^"]*\sSPECIFICWORD\"

.匹配任何字符
*说前面的字符为0或更多(在这种情况下,任何字符为0或更多)
\s匹配任何空格字符
假定没有特殊字符(如果有则转义),SPECIFICWORD将被视为字符串文字。
\"匹配引号
[^"]表示除引号外的任何字符(^是使其成为“ except”的原因)

另外,this link可能很有用。正则表达式是功能强大的表达式,几乎可以在所有语言中使用,因此习惯使用它们将是一件好事。

编辑:

正如其他一些发帖人所指出的那样,仅在整行匹配时,才在开头添加^,在末尾添加$

^匹配行的开头
$匹配行尾

07-24 18:20