我对正则表达式不太擅长,所以我想了解我制作的正则表达式是否可以使用或可以改进。
正则表达式条件:
我做了这样的正则表达式:
^[[:alnum:]]{3,4}(_)[[:alnum:]]{1,15}$
这是一种好习惯还是可以进一步改善?
非常感谢您的帮助。
答案 0 :(得分:1)
您的表达式正确满足您指定的条件。此外,它还捕获下划线,您无需这样做。因此,您只需编写
^[[:alnum:]]{3,4}_[[:alnum:]]{1,15}$
另外,您已经知道,该表达式与整行匹配,而不仅仅是一行的一部分,因此,如果该行包含空格,则该字符串两端的空白都可能导致您出现问题(参见UNIX / Windows的另一行)结尾)。
What is the difference between ^ and \A , $ and \Z in regex?显示\ A \ z和^ $之间的区别(包括有关\ z和尾随换行符的有趣注释)