我正在为我下面解释的一个特殊要求寻找正则表达式。我相信这可能非常简单&正则表达专家的基础。
匹配一行中一个或多个单词的正则表达式。考虑这一行:
QRYNUMB0007 = SELECT EMPLOYEEID, FIRSTNAME, LASTNAME, EMAIL, CITY, STATE, COUNTRY FROM EMPLOYEE WHERE EMPLOYEEID = ?
在这种情况下,例如,我想知道我正在搜索/寻找 SELECT , FIRSTNAME 和 EMPLOYEE 可在同一行中使用。在这种情况下,行中单词的出现顺序并不重要,但所有3个单词应该出现在同一行中。
答案 0 :(得分:2)
如果您想选择其中任何一个
/select|firstname|employee/i
如果你想真正找到所有这些
/select/i && /firstname/i && /employee/i
而且,根据您的语言,事情可以更简单,例如Python
STRING=mystring.lower()
if "select" in STRING and "firstname" in STRING and "employee" in STRING:
print "...."
答案 1 :(得分:1)
尝试alternation:
SELECT|FIRSTNAME|EMPLOYEE
击> <击> 撞击>
好吧,正如其他人所说,正则表达式并不真正支持AND
运算符。由于您在vim
,因此您无法在语言级别访问该运算符。
您可以尝试排列:
/SELECT.*FIRSTNAME.*EMPLOYEE|SELECT.*EMPLOYEE.*FIRSTNAME/
或者,也可以避免匹配EMPLOYEEFIRSTNAME
:
/SELECT.+FIRSTNAME.+EMPLOYEE|SELECT.+EMPLOYEE.+FIRSTNAME/