我需要在双引号之间匹配关键字后的值 例如:
zoom_sensitivity "2"
sensitivity "99"
m_rawinput "0"
m_righthand "0"
也有不同的间距:
sensitivity"99"m_rawinput"0"zoom_sensitivity"2"m_righthand"0"
另一个例子:
sensitivity"99" m_rawinput "0"
m_righthand "0"
zoom_sensitivity"2"
我想在敏感度关键字或选择一个之后的两种情况下获得99
值
我尝试的是:
[\n\r]*["|\n\r\s]灵敏度\s*"([^\n\r\s]*)"
但如果关键字位于第一行或任何空格/双引号之前,则它不匹配,并且对于内联代码,它匹配的不仅仅是 99 值。 我相信 Source Engine 从他们的 .cfg 文件中解析它类似,也许有更好的方法。
最佳答案
您可以使用此正则表达式并捕获 group1 中的数字,
\bsensitivity\s*"(\d+)"
由于您想选择99
,它仅位于sensitivity
之后作为整个单词,因此需要在单词周围使用单词边界\b
,如 \bsensitivity\b
和 \s*
允许匹配单词之间的可选空格,然后 "
匹配双引号,然后 (\d+)
匹配一个或多个数字并在 group1 中捕获,最后 "
匹配右双引号。
<强> Regex Demo
关于javascript - 正则表达式匹配括号内关键字后的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55946253/