正则表达式匹配任何单个字符(仅限一个字符)

Sur*_*gch 25 regex

如何将任何一个字符与正则表达式匹配?

我正在写这个问题和以下答案作为一般参考.关于Stack Overflow的许多其他问题听起来像是答应快速回答,但实际上是在询问更具体的内容.

我的参考答案如下.

Sur*_*gch 37

匹配任何单个字符

  • 使用 .字符作为通配符来匹配任何单个字符.

示例正则表达式: a.c

abc   // match
a c   // match
azc   // match
ac    // no match
abbc  // no match
Run Code Online (Sandbox Code Playgroud)

匹配集合中的任何特定字符

  • 使用方括号 []来匹配集合中的任何字符.
  • 使用\w匹配任何单个字母数字字符:0-9,a-z,A-Z,和_(下划线).
  • 使用\d匹配任何单个数字.
  • 使用\s匹配任何单个空白字符.

示例1正则表达式: a[bcd]c

abc   // match
acc   // match
adc   // match
ac    // no match
abbc  // no match
Run Code Online (Sandbox Code Playgroud)

示例2正则表达式: a[0-7]c

a0c   // match
a3c   // match
a7c   // match
a8c   // no match
ac    // no match
a55c  // no match
Run Code Online (Sandbox Code Playgroud)

匹配任何字符,除了 ...

使用方括号中帽子[^]来匹配任何单个字符,除了帽子之后的任何字符^.

示例正则表达式: a[^abc]c

aac   // no match
abc   // no match
acc   // no match
a c   // match
azc   // match
ac    // no match
azzc  // no match
Run Code Online (Sandbox Code Playgroud)

(不要将^此处[^]与其他用法混淆作为行字符的开头:^= line start,$= line end.)

任选匹配任何字符

在任何字符 ?后面使用可选字符指定该字符的零次或一次出现.因此,您可以.?选择匹配任何单个字符.

示例正则表达式: a.?c

abc   // match
a c   // match
azc   // match
ac    // match
abbc  // no match
Run Code Online (Sandbox Code Playgroud)

也可以看看

  • @DinkoIvanov `\b.{1}bc\b` 会做到这一点。`{1}` 代表不多不少于 1 个 `\b` 表示字边界。 (2认同)

Dan*_*ník 5

简单的回答

如果要匹配单个字符,请将其放在括号内[ ]

例子

  • 匹配 + ...... [+] 或 +
  • 匹配一个……一个
  • 比赛 & ...... &

...等等。您可以在此网站上在线查看您的正则表达式:https : //regex101.com/

(根据评论更新)