我正在编写一个脚本,从字符串中取出#{text}的所有实例,以便使其成为动态的。
如何使用正则表达式 #{(. *?)} 而不会出现错误?
我知道正则表达式可以工作,但由于字符的原因,我无法将其分配给字符串。
谢谢
在正则表达式中,哈希(#
)不需要转义,因为它不包含任何特殊值。
在Java中,您只需要避开大括号的开头,因此您需要编写的正确正则表达式是,\{.*}
试试这个Java代码,
public static void main(String[] args) {
String s = "Dear #{abc}, your balance is #{xyz}";
String regex = "#\\{.*?}";
System.out.println("Before: " + s);
s = s.replaceAll(regex, "test");
System.out.println("After: " + s);
}
根据需要打印以下内容,
Before: Dear #{abc}, your balance is #{xyz}
After: Dear test, your balance is test
此外,为了非详尽地抓取任何字符,您可以编写
[^}]*
而不是. *?
,因为前者会更好。
我正在编写一个脚本,从字符串中取出#{text}的所有实例,以便使其成为动态的。 如何使用正则表达式#{(.*)}呢不会出错? 我知道正则表达式可以工作,但由于字符的原因,我无法将其分配给字符串。 谢谢
问题内容: 有没有办法使用正则表达式来匹配重复的字符集?例如: 我知道那是错的。但是有什么可以匹配这种效果的吗? 更新: 您可以使用嵌套捕获组吗?像什么? 问题答案: 将要重复的正则表达式放在括号中。例如,如果您要重复5次: 或者,如果您想要任意数量的重复(0或更多): 或一个或多个重复: 编辑 以回应更新 正则表达式中的括号有两个作用:它们将正则表达式中的一系列项目组合在一起,以便您可以将运算符
我不完全确定这个标题是否有意义,但我不确定如何更好地解释。我正在尝试匹配一个字符串,该字符串以一个或多个,以相同数量的。我尝试了许多不同的方法,但我不知道如何在regex中执行此操作,或者是否可能!有人能把我送到正确的方向吗? 例子 匹配: 匹配: 不匹配: 不匹配: 等等,你明白了。
我的正则表达式是 当我在java中使用Pattern.complie()编译时,我得到了*非法重复字符* 我测试了这个正则表达式 当我编译这个时,它没有显示错误。 为什么会发生这种情况?
问题内容: 我正在尝试创建一个匹配字符串的正则表达式,如果它连续有3个或多个重复字符(例如aaaaaa,testtttttt,otttttter)。 我尝试了以下方法: 连续 匹配 任意 3个字符,但不 连续的 字符…我在哪里出错? 问题答案: 您要的内容无法使用 真正的 正则表达式完成,您需要的是(不规则的)反向引用。尽管许多正则表达式引擎实现了它们,但Go使用的RE2却没有。RE2是一种快速的
关于正则表达式有很多类似的问题,但我仍然对以下情况感到困惑: