我正在尝试验证字符串是否具有值
edit=yes
edit = yes
edit= yes
edit =yes
edit=yesonce
edit = yesonce
edit= yesonce
edit =yesonce
到目前为止我在edit=yes
上的所有内容都匹配,但仅此而已。我认为我的可选空格参数是错误的但不确定如何。
edit[/s]?=[/s]?[yes|yesonce]
答案 0 :(得分:1)
试试这个:
edit\s?=\s?yes(once)?
正则表达式出现问题:
\s
,而不是/s
- 转义字符是反斜杠,而不是斜杠。[]
围绕一个角色(或转义的实体)[yes|yesonce]
表示任何一个字符y e s | y e s o n c e
,而不是yes
或yesonce
。 (yes|yesonce)
,虽然它始终与yes
匹配,但在once
匹配后无法捕获yes
。您可以使用(yesonce|yes)
来避免这种情况,但是.. yes(once)?
更简单:)如果您打算允许任意数量的空格而不是一个空格,则需要用?
替换相应的*
符号("零或一个")( "任何数字,包括零"):
edit\s*=\s*yes(once)?
答案 1 :(得分:0)
试试这个正则表达式:/edit\s*=\s*(yes|yesonce)/ig
这将确保:
答案 2 :(得分:0)