正则表达式中[a-zA-Z_0-9]中的“_”代表什么?

Rick____ 2012-02-13 04:22:26
正则表达式中[a-zA-Z_0-9]中的“_”代表什么?我加了N个_结果都是一样的(比如[a-z__A-Z_0-9])
为什么java中“\”要用“\\\\”?
...全文
2894 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rick____ 2012-02-13
  • 打赏
  • 举报
回复
2楼好幽默。。谢谢了 终于懂了!
MiceRice 2012-02-13
  • 打赏
  • 举报
回复
“_” 代表下划线,意思就是允许使用下划线而已。

因为“\”在String中为转义字符,所以每次要写"\\",Java才实际知道你要的是“\”;

而倒霉的是,“\”在正则表达式中也是转义字符,所以相当于总共要进行两次转义处理。

也就是代码中的"\\\\" => 运行时实际String中的“\\” => 正则表达式理解的你要表示“\”
Y_lightc_Q 2012-02-13
  • 打赏
  • 举报
回复
"_"只是一个字符。
看例子:
string a="_";
若用[a-zA-Z_0-9]匹配,则会返回true;
若用[a-zA-Z0-9]匹配,则会返回false;
[a-zA-Z_0-9]中的“_”,表示在你的字符串中包含“_”就返回true;他和a,b等等一样,是个字符。
java中“\”是转义字符,“\\”输出是“\”,同理“\\\\”则输出“\\”

50,545

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧