str.replaceAll("[^(a-z0-9A-Z_)]","_");
匹配每一个不是数字字母下划线的字符,替换成下划线
|
[xyz] |
字符集。匹配包含的任一字符。例如,"[abc]"匹配"plain"中的"a"。 |
|
[^xyz] |
反向字符集。匹配未包含的任何字符。例如,"[^abc]"匹配"plain"中"p","l","i","n"。 |
|
[a-z] |
字符范围。匹配指定范围内的任何字符。例如,"[a-z]"匹配"a"到"z"范围内的任何小写字母。 |
|
[^a-z] |
反向范围字符。匹配不在指定的范围内的任何字符。例如,"[^a-z]"匹配任何不在"a"到"z"范围内的任何字符。 |
|
(pattern) |
匹配 pattern 并捕获该匹配的子表达式。可以使用 $0…$9 属性从结果"匹配"集合中检索捕获的匹配。若要匹配括号字符 ( ),请使用"\("或者"\)"。 |
本文介绍如何使用正则表达式str.replaceAll([^(a-z0-9A-Z_]_),将文本中的非字母数字和下划线字符替换为下划线,适用于编程中字符串格式化和清理。

1671

被折叠的 条评论
为什么被折叠?



