我试图根据string
regex的功能在中评估火柴修复安全规则
我的代码是username.matches('^(?!\.)(?!_)(?!.*\.$)(?!.*?\.\.)[a-z0-9_.]+$')
使用regex模拟器在线运行
https://regex101.com/r/bDXMg3/2/
但是在安全规则中使用相同的语法会导致大量错误
然后我试着双转义每个.
使用代码username.matches('^(?!\\.)(?!_)(?!.*\\.$)(?!.*?\\.\\.)[a-z0-9_.]+$')
它只显示一个错误(开头是红色^符号),然后给出下面的错误。
Invalid regular expression pattern. Pattern: ^(?!\.)(?!_)(?!.*\.$)(?!.*?\.\.)[a-z0-9_.]+$.
我的目标是:
.
或_
开头.
结尾.
letter characters
和numbers
有人能告诉我我做错了什么吗?
发布于 2018-08-24 19:10:28
答案在下面的Wiktor Stribiżew链接中
如果真正解析此模式的是RE2,那么就很清楚了--它不支持查找头/查找器。
使用'^[a-z0-9][a-z0-9_]*([.][a-z0-9_]+)*$'
https://stackoverflow.com/questions/51848621
复制相似问题