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

如何在正则表达式中使用“[”和“]”[重复]

姬成荫
2023-03-14

我的Java程序中有这个正则表达式

if(Function.match(strAddress, "[~|+_=!$%^*@`(){}:;\"'<>?,]++"))
--do something

我也想在正则表达式中包含[和]。我也尝试使用转义字符,但没有成功。如何将这些字符添加到我的正则表达式中?

使用此示例

public class test {

    public static void main(String[] args) {
        String text = "asda[]";
        System.out.println("Test: "+ text.matches("[~|+_=!$%^*@`(){}:;\"'<>?,\\[\\]]++"));
    }
}

我试过\[和[,它不工作

上一次运行上述代码时,输出<code>Test:false

共有1个答案

晏晨朗
2023-03-14

尝试使用:

"[~|+_=!$%^*@`(){}:;\"'<>?,\\[\\]]++"
//-------------------------^^-^^

你必须用\\转义这两个字符

编辑

当然它只匹配这组角色

~|+_=!$%^*@`(){}:;\"'<>?,[]

但是在您的示例中,您使用的是字母,因此您必须为较低的字符包含a-z,并包含A-Z以匹配较高的字符:

[a-z~|+_=!$%^*@`(){}:;\"'<>?,\\[\\]]++
 ^^^-------------------------------

现在以你为例:

String text = "asda[]";
System.out.println("Test: " + text.matches("[a-z~|+_=!$%^*@`(){}:;\"'<>?,\\[\\]]++"));

它返回:

Test: true

编辑

您可以使用此解决方案:

[a-z]*[~|+_=!$%^*@`(){}:;\"'<>?,\[\]]++

这将给你:

abc[]  -> true
[]     -> true
abc    -> false
[]abc  -> false
 类似资料:
  • 如何在不包含连续子字符串baa的字母表{a,b,c}上表达正则表达式?

  • 本文向大家介绍如何在TestNG中使用正则表达式?,包括了如何在TestNG中使用正则表达式?的使用技巧和注意事项,需要的朋友参考一下 我们在TestNG中使用正则表达式来使用以某种模式命名的一组测试方法。 示例 Testng xml文件。 所有名称开头为Payment的测试方法都将从回归套件中排除。 示例 Login()将被执行,但是所有以名字Payment开头的方法都将被排除在执行之外。这是使

  • 问题内容: 我正在尝试实现一个接受字符串列表的Web服务,每个字符串都是一个正则表达式。需要将这些与数据库的六列进行比较,并且需要返回任何匹配的行。 我相信Oracle具有我可以使用的regexp_like()函数,但是我正在寻找使用Hibernate做到这一点的 最佳 方法,因此,我不反对持久性引擎。 我从这样的东西开始,其中参与者集合包含正则表达式: 这是行不通的,因为“输入”不会执行我想要的

  • 问题内容: 我正在使用这样的构造: 但是我需要选择所有以“某些文本”开头的文本的链接,所以我想知道这里是否可以使用regexp?在lxml文档中找不到任何内容 问题答案: 您可以执行此操作(尽管该示例不需要正则表达式)。Lxml支持来自EXSLT扩展功能的正则表达式。(请参阅XPath类的lxml文档,但该方法也适用于该方法) 请注意,您需要提供名称空间映射,以便它知道xpath表达式中的“ re

  • 本文向大家介绍您如何在Cucumber中使用正则表达式?,包括了您如何在Cucumber中使用正则表达式?的使用技巧和注意事项,需要的朋友参考一下 我们可以在Cucumber中使用正则表达式来选择功能文件中相似语句的集合。 示例 功能文件 步骤定义文件具有@Given(“([^ \”] *)season $“)中的@Given时间表,该表在正则表达式的帮助下将两个Given语句映射到Feature

  • 问题内容: 我有一个带有div的html页面,这些div的 ID 为 s1 , s2 等形式。 我想将CSS属性应用于这些部分/ div的子集(取决于id)。但是,每次添加 div时 ,都必须像这样分别为该部分添加css。 css中是否有类似正则表达式的内容,可用于将样式应用于一组 div 。 问题答案: 您可以设法选择那些元素而无需任何形式的正则表达式,如先前的答案所示,但是要直接回答问题,可以