我对regex
比较新。我发现这个regex
被使用,并且无法理解它的工作原理。正则表达式澄清
([\(]*([\w][\/]?[\w]?(%)?(,)?)*|[\/.]|[\w]([\-\*|\+|\\|\<\>|\=]([\(]*[\w][\/]?(%)?[\)]?[\)]?(,)?)+)*[\)]?)*$/
我最了解的基本语法,但无法理解这是什么意思。
任何清晰的这一点将不胜感激!这是在JavaScript中使用的标签。
谢谢!
我对regex
比较新。我发现这个regex
被使用,并且无法理解它的工作原理。正则表达式澄清
([\(]*([\w][\/]?[\w]?(%)?(,)?)*|[\/.]|[\w]([\-\*|\+|\\|\<\>|\=]([\(]*[\w][\/]?(%)?[\)]?[\)]?(,)?)+)*[\)]?)*$/
我最了解的基本语法,但无法理解这是什么意思。
任何清晰的这一点将不胜感激!这是在JavaScript中使用的标签。
谢谢!
同样没有uneeded字符:
/(\(*(\w\/?\w?(%)?(,)?)*|[\/.]|\w([-*+\\<>=](\(*\w\/?(%)?\)?\)?(,)?)+)*\)?)*$/
这种模式可以匹配这样的字符串(或没有)的:
(((a/b%,(((a/b%,///./././(((a/b%,k*((((((((P/%)),)
要了解更多关于正则表达式REFER:regex101给你的代码,而阅读解释。
你的正则表达式:([\(]*([\w][\/]?[\w]?(%)?(,)?)*|[\/.]|[\w]([\-\*|\+|\\|\<\>|\=]([\(]*[\w][\/]?(%)?[\)]?[\)]?(,)?)+)*[\)]?)*$
将匹配任何类似
(d/f%,
something
122
但将无法匹配像
--{}
说明:
您正则表达式:
([\(]*([\w][\/]?[\w]?(%)?(,)?)*|[\/.]|[\w]([\-\*|\+|\\|\<\>|\=]([\(]*[\w][\/]?(%)?[\)]?[\)]?(,)?)+)*[\)]?)*$/
可以看作:
除非有您正则表达式一个错字,它永远不会匹配任何东西;正则表达式以$/
结尾,这意味着字符串末尾后跟/
,除非您匹配多行。如果这是家庭作业,我会说老师正在做一个坏笑话,因为$/
通常不匹配任何东西。
一些简化后,您将获得:
(\(*(\w\/?\w?(%)?(,)?)*|[\/.]|\w([-*|+\\<>=](\(*\w\/?(%)?\)?\)?(,)?)+)*\)?)*$/
如果你不关心分组,那么这是类似的:
(\(|[\/.]|(\w\/?\w?%?,?)|\w([-*|+\\<>=](\(*\w\/?%?\)?\)?,?)+)*\)?)*$/
这种利用该(a*|b*)*
可以简化为(a|b)*
这是一段现有的代码。通过检查后,发现这是没有正确测试。 – Aashray
这可能帮助:https://www.debuggex.com/r/MyliJBLGcB1qhHQz,或本http://regex101.com/r/vO3aI9。如果我可以这样说,那么写这种模式的人并不知道他们在做什么。 – Kobi
大声笑这是我的时间之前,但这似乎符合要求。我需要对此进行增强,但我不明白这是什么。感谢链接,通过这些可能会帮助我理解它。 – Aashray