java - 正则表达式或 Java 将某些区域转换为较低的字符串

标签 java regex replace case case-sensitive

我有一段正则表达式 "([A-Z]|_)*" 来查找 xml 文档中属性的大写值。我想把所有的发现都变成小写。我知道我可以使用 $ 符号引用找到的组,但是如何将 $ 变量的值传递到 toLowerCase() 函数中。我不在乎解决方案是否涉及 java 或者简单的文本编辑器是否可以解决问题,因为这是一次性工作。

谢谢。

最佳答案

首先,对于这个特定的任务,您可能应该使用 XML 解析器。话虽如此,对于正则表达式,您可以使用 Matcher存储捕获的组:

Pattern p = Pattern.compile("([A-Z]|_)+"); 
String s = "test=\"UPPERCASE\" other=\"lowercase\" map=\"UPPER\"";
Matcher m = p.matcher(s);
while (m.find()) {
  String group = m.group(0);
  System.out.println(group.toLowerCase());  // will print "uppercase" and "upper"
}

关于java - 正则表达式或 Java 将某些区域转换为较低的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8024237/

相关文章:

java - 如何使用 Querydsl 更新 JPA 实体?

java - 寻找开发互斥锁的解决方案

sql - Oracle - 用正则表达式列表替换记录的子字符串

javascript - 在 Javascript 中获取字符串的特定部分

Javascript 字符串替换最后一次出现

Jquery 将\n 替换为 <br/>?

c# - 使用 C# Regex 将整个单词替换为符号

java - 解密加密流时出现 BadPaddingException

java - 为什么我在 Documentum 中收到 java.lang.NoSuchMethodError : com. rsa.jsafe.CryptoJ.isNativeAvailable(Ljava/lang/String;)

Python正则表达式将字符串拆分为数字和文本/符号