我对正则表达式很体面,但在这里难倒.我在下面的第2组遇到了麻烦.但是,我认为对于正则表达式大师来说这应该相当容易......
我想要匹配 zero or more instances of a set of keywords, in any order
[更新:供将来参考]
最简单的解决方案(源自黑熊猫的回应)是:
((keyword1 | keyword2 | keyword3 )*)
注意:每个单词后面的空格是必不可少的!
就我而言,这转化为:
((static |final )*)
这是简单的,最简单的答案.更好,更高效的方法是黑熊猫的反应,下面.它允许任何数量的空白,并且RE引擎处理速度更快.
我需要将以下输入拆分为非常具体的组.
注意:数字不是输入的一部分.也就是说,每个输入行以字母p开头.
我需要将输入分解为匹配组
第1组=公共或私人或受保护
组2 = 0或更多"静态"或"最终"实例 < - 组我正在与
第3 组挣扎 =数据类型
组4 =变量名
组5 =值
鉴于上述输入,第2组如下:
这是我提出的正则表达式,id不适用于第2组:
^.*(public|private|protected)\s+(static\s+|final\s+)*\s+([^ ]+)\s+([^ ]+)\s*(;|=)(.*)$
Run Code Online (Sandbox Code Playgroud)
对于第2组,我尝试过:
什么应该是"组2"的正则表达式,它匹配单词"static"或"final"的一个或多个实例.一个适当的解决方案可以扩展,以匹配任何单词的任何子集,如[静态,最终,瞬态,易失性].
归档时间: |
|
查看次数: |
16138 次 |
最近记录: |