当前位置: 首页 > 知识库问答 >
问题:

正则表达式的冗余字符和数字预期错误

计光赫
2023-03-14

我正在编写一个脚本,从字符串中取出#{text}的所有实例,以便使其成为动态的。

如何使用正则表达式#{(.*)}呢不会出错?

我知道正则表达式可以工作,但由于字符的原因,我无法将其分配给字符串。

谢谢

共有1个答案

周辰沛
2023-03-14

在正则表达式中,哈希(#)不需要转义,因为它不包含任何特殊值。

在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}的所有实例,以便使其成为动态的。 如何使用正则表达式 #{(. *?)} 而不会出现错误? 我知道正则表达式可以工作,但由于字符的原因,我无法将其分配给字符串。 谢谢

  • 其中,我需要包括连字符和空格。 这意味着还必须可以输入值“”。

  • 相比较于第一章变量的声明,这一章的内容有了一点深度提升,但还不至于很难理解。本章主要讲2个知识点,字符串、正则表达式 字符串 字符串(String)是JavaScript6大原始数据类型。其他几个分别是Boolean、Null、Undefined、Number、Symbol(es6新增)。 字符串类型在前端开发者,是使用最频繁的类型之一,网站上可见的各种文案,几乎都是字符串类型的数据。我们经常需要

  • 主要内容:实例下表包含了元字符的完整列表以及它们在正则表达式上下文中的行为: 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或

  • 我有一个包含数千行的文本文件。这里有一个例子 我试图提取'nt60'、'nt50'末尾的字符串。 问题是会包含行尾字符() 我想使用正则表达式搜索来匹配从 (') 开始的字符串,但我不知道我应该用什么来匹配 。 有人能帮忙吗?

  • 我希望有一个正则表达式来检查字符串是否包含大小写字母、数字、下划线以及字符限制。这些是字符串中唯一允许的类型。