正则表达式语法

时间:2011-10-23 21:36:53

标签: java regex

当使用正则表达式的“[”字符时,我需要找到两种类型的实例:

  1. 当“[”字符后跟一个数字时。
  2. 当“[”字符后跟字母时。
  3. 在Java中我尝试过:

    Pattern firstinstance = Pattern.compile("\\[abcdefgABCDEFG");
    Pattern secondinstance = Pattern.compile("\\[[0-9]");
    
    然而,这些似乎并没有起作用。你们有什么可能的建议吗?

4 个答案:

答案 0 :(得分:1)

  

第一个例子是“[”字符后跟一个数字。

任何脚本中的任何十进制数字:

"\\[\\p{Nd}"

仅限0-9中的任何数字:

"\\[\\d"
"\\[[0-9]"

  

第二个例子是“[”字符后跟字母。

任何剧本中的任何字母:

"\\[\\p{L}"

只有A-Z或a-z中的字母:

"\\[[A-Za-z]"

答案 1 :(得分:0)

Pattern firstinstance = Pattern.compile("\\[[a-zA-Z]+");
Pattern secondinstance = Pattern.compile("\\[[0-9]+");

答案 2 :(得分:0)

Pattern first = Pattern.compile("[[][0-9]");
Pattern second = Patter.compile("[[][A-z]+");

正则表达式很容易理解。看看Basic Concepts

答案 3 :(得分:0)

在Java中,您需要转义转义字符(这是模式定义为字符串的结果)。所以你会使用代码

Pattern firstinstance = Pattern.compile("\\[[0-9]");
Pattern secondinstance = Pattern.compile("\\[[a-zA-Z]");

这些字符串被读为

\[[0-9]

\[[a-zA-Z]

这是你想要的正则表达式。

注意,要在正则表达式中获取文字反斜杠,您需要使用4个反斜杠\\\\