要解析的JavaScript正则表达式:设置正确名称为X=值#注释
JavaScript regex to parse: set Properly Name Is X = value # comment
我希望有5个组来解析像这样的单行
set Property name is long = value could be anything 1.0 # comment
1 2 3 4 5
在set
前面可能有空白。属性名称和值之间始终存在=
。字符串可以以注释结尾,以#
开头。到目前为止,我尝试了
'b(set)'b's*(.*)'b(=)'b(.*)'n
但很快意识到这项任务超出了我对regex的有限了解。
p.s.这必须在JavaScript正则表达式中(无前瞻性,AFIK)。
如果我正确理解了你的问题,这里有一个正则表达式应该符合你的需求:
var rgx = /^'s*(set) ?(.+?)(?:'s+?(=)'s+?)(.+?)(#.*)?$/gm
这匹配:
set Property name is long = value could be anything 1.0 # comment
set foobar baz bazinga = nhaca
你可以在这里测试这个正则表达式
EDIT:修复了在"注释"组中包含#char的问题
如果这是javascript,那么你可以使用这个:DEMO
(?:'s*)(set)(.*)(=)([^#]*)('#.*)*
这意味着:
(?:'s*) - leading spaces, not captured
(set) - set
(.*) - property name
(=) - equals sign
([^#]*) - value which doesn't include a comment sign
('#.*)* - optional comment
相关文章:
- Javascript中的备选注释方法
- 如何用正则表达式替换特定的JavaScript注释
- Visual Studio 2012:更改javascript注释样式
- 使用JQuery或Javascript编辑HTML注释文本
- 查找所有注释的JavaScript正则表达式
- 使用xgettext从JavaScript中提取翻译器注释(在Python模式下)
- 是<!--JavaScript中的有效注释分隔符
- JavaScript 中的 POST url 被注释掉了
- 如何让 Eclipse 在 Javascript 文档中执行自动 javadoc 注释
- 从 javascript 文件中去除注释
- 为什么Javascript函数有时会在注释块中定义
- 如何使用gump在javascript文件中注入注释
- Javascript注释实践
- javascript中的注释样式
- 如何在JavaScript中显示注释线程层次结构
- 如何在生成的HTML页面中隐藏JavaScript注释
- 为静态类型检查注释javascript的好解决方案是什么
- 注释 JavaScript 函数参数
- 是否可以为闭包编译器添加@language ECMASCRIPT5来注释JavaScript
- 如何使disqus注释javascript代码在聚合物自定义元素中工作