Arp*_*pit 0 ruby regex regex-lookarounds
我已经编写了以下代码来匹配我的属性文件中的服务名称:
service = properties.match(/^com\.google\.([#{serviceName}]+)\.public$/)
Run Code Online (Sandbox Code Playgroud)
此代码工作正常,当我给任何serviceName但却未能如果serviceName有一个-在之间
例如- common-api
错误:
empty range in char class: /^com\.google\.([common-api]+)\.public$/ (SyntaxError)
Run Code Online (Sandbox Code Playgroud)
任何想法我怎么能逃脱正则表达式评估中的整个字符串?
您可能想要Regexp.escape:
service = properties.match(/^com\.google\.(#{Regexp.escape(serviceName)})\.public$/)
Run Code Online (Sandbox Code Playgroud)
此外,您已经包围了你的包容serviceName与[...]+,这意味着在此字符列表中有多个角色[...]。
例如,此regexp [commonapi]+接受moconaipimdconn,或实际上包含包含您实际上要捕获的服务名称中的某些字符的任何长度的字符串。
| 归档时间: |
|
| 查看次数: |
3316 次 |
| 最近记录: |