猿问

如何构建具有开始和结束字符验证的验证正则表达式?

如何为字符串构建显式正则表达式,其中字母在开头,下划线或数字在中间,字母或数字在末尾?

到目前为止尝试的模式可以在测试用例中看到。https://regex101.com/r/JedpJu/3

我想过滤掉如下所示的字符串。

_(仅下划线)

9a_d(以数字开头的字符串)

ad_(以下划线结尾)

编辑

ad*d_rr(除下划线外的任何特殊字符也不应被允许。


HUWWW
浏览 93回答 1
1回答

牧羊人nacy

您可以使用^[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?$这与^[A-Za-z](?:\w*[A-Za-z0-9])?$观看正则表达式演示在Java中,您可以将其与锚点一起使用并省略锚点:.matches()s.matches("[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?") s.matches("[A-Za-z](?:\\w*[A-Za-z0-9])?")如果字符串可能包含换行符,请使用s.matches("(?s)[A-Za-z](?:[A-Za-z0-9_]*[A-Za-z0-9])?") s.matches("(?s)[A-Za-z](?:\\w*[A-Za-z0-9])?")其中,可以匹配换行符。(?s).
随时随地看视频慕课网APP

相关分类

Java
我要回答