[英]Meaning behind underscore character in regular expressions
注意:我的程序有效,我只是在寻找解释原因。
我有一个java程序读取文件,计算所述文件中的单词,并输出单词和计数到另一个文件。 在我的第一部分,我使用正则表达式替换任何字符而不是字母,并用空字符串替换它。
freq.add(in.next().replaceAll("[^A-Za-z]", ""));
然而,这不会考虑带连字符的单词,因此我将regEx更改为:
freq.add(in.next().replaceAll("[^A-Za-z_-]", ""));
我的问题是,为什么添加下划线和连字符? 下划线角色背后的含义是什么?
虽然我在问问题,所有语言的正则表达式是否相同?
另外,如果在其他地方回答我道歉,我做了很多搜索而没有运气。
正则表达式中的下划线没有什么特别之处,它只是像A这样的普通字符。字符类末尾的连字符也不特别,虽然它是在两个其他字符之间时,因为你已经用它来例如,通过说AZ来匹配所有字母。
正则表达式在大多数语言之间是相似的 ,但某些更深奥的功能可能与语言不同或缺失。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.