我试图从一些JavaScript代码中提取字段名称,等号之前的所有内容,但忽略IF语句等。
我可以让它为IF语句工作,但不能用于等号后面的东西。
非常感谢任何帮助。
这是我到目前为止所做的。
麻烦在第3行,我只想要字段验证器而不是()
中包含的字符串^((?!if).+)(?==)
ruleMode = “test”;
if(ruleMode ==“test”)
验证码=(百分比> = margin.lower)&& (百分比< = margin.upper);
答案 0 :(得分:0)
如果您在等号前添加\s
允许空格,则表达式将起作用。您现在可以在捕获组#1
中捕获所需的匹配项。允许空格后,请参阅正则表达式的working demo。
^((?!if).+)(?=\s=)
如果你走这条路,我可能会在这里使用非捕获组并将量词+
放在外面。
或者,如果=
符号前的值始终为字母数字,则可以与\w
匹配,并忽略双==
(\w+)(?= +=[^=])
或相反否定非单词字符。
([^\W]+)(?= +=[^=])
请参阅live demo
答案 1 :(得分:0)
检查以下正则表达式:
(\w+)(?=\s*=[^=])
它会检查=
后面跟着的另一个=
后面跟着的单词。对单词进行签名,它将匹配所有已分配的变量名称。
在这里,您可以看到代码的演示以及其他一些代码:http://regex101.com/r/fM9hL2
我希望这就是你想要的。