javascript - 如何为 while 循环构建正则表达式?

标签 javascript jquery regex interpreter

我正在尝试为 while 构建正则表达式循环包含在我的程序中。这是我到目前为止想出的:

https://regex101.com/r/aL0zC7/1 1

/^ *while +\( *([a-zA-Z][a-zA-Z0-9_]*) *([=<>]) *([a-zA-Z][a-zA-Z0-9_]*|[0-9]+) *\) *$/

但问题是我要条件包括

==, <, >, <=,>= 

为了测试(a==5)(a<=5)(a>=5) , 而不仅仅是 =,<,> .我尝试将以下模式添加到我的表达式中:([=<>]) .

我怎样才能做到这一点?

最佳答案

此正则表达式将匹配所有情况:

 *while +\( *([a-z]\w*) *([=<>]=?) *([a-z]\w*|\d+) *\) *

看看 updated regex

我主要加了一个量词+[=<>]+ , 并删除了 anchor ^$为了更好的可视化(如果您测试单个字符串,您可以还原它们)。

我替换了[a-zA-Z0-9_]\w (它们是相同的)和 [0-9]几乎相同\d .不区分大小写 i选项应该适用于 [a-z]字符类。

如果您还计划添加 !=支持,试试:

 *while +\( *([a-z]\w*) *((?:!=|[=<>]=?)) *([a-z]\w*|\d+) *\) *

Demo 2

关于javascript - 如何为 while 循环构建正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29995820/

相关文章:

javascript - 如何使用 Require.js 实现 TinyMCE?

java - 格式化字符串: To remove the telephone number

javascript - 如何在 React 组件中 Jest 测试 lodash.get 的使用?

javascript - 将多个 bool 检查简化为一个检查

javascript - PHP 页面中的 JQuery

java - 使用固定元素定位捕获元素的屏幕截图

javascript - 光滑的旋转木马移动导航点

javascript - 验证为真后隐藏表单

python - spaCy 的正则表达式与 Python 的正则表达式不同

javascript - Chrome 句柄是否正确匹配?