1

我有一个问题,我想要一个允许每个字符的正则表达式模式,例如字母、数字、特殊字符、元音变音字符,但不允许像箭头符号这样阻止我生成 xml 的无效字符。请帮我解决这个问题,我怎样才能用空格替换那个无效字符。?

我正在使用 java 1.5

4

3 回答 3

2

您可以只使用 acharacter class并匹配所有有效字符

^[a-zA-Z\d]+$

但是如果你不想允许某些字符,你可以使用Negated character class

^[^><]+$
   --
    |->your arrow signs go here...

例如,regexlike[^a-zA-Z]将匹配除字母以外的任何字符

于 2012-12-11T19:08:47.557 回答
0

您可能可以删除所有不需要的字符,例如箭头:

String cleanXML = xml.replaceAll("[^\u0000-\u00ff]+", " ");

这只是用\x00-\xFF空格替换范围外的 1 个或多个字符。

于 2012-12-11T19:32:07.140 回答
0

replaceAll函数将采用正则表达式:

String myUnparsedString = "<some-xml-style-node>";
String myParsedString = myUnparsedString.replaceAll("<", " ");
于 2012-12-11T19:07:15.667 回答