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

时间:2017-11-29 05:08:12

标签: regex

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

我正在撰写此问题和以下答案以供一般参考。关于Stack Overflow的许多其他问题听起来像是答应快速回答,但实际上是在询问更具体的问题。

我的参考答案如下。

2 个答案:

答案 0 :(得分:27)

匹配任何单个字符

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

示例正则表达式:a.c

abc   // match
a c   // match
azc   // match
ac    // no match
abbc  // no match

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

  • 使用方括号 []来匹配集合中的任何字符。
  • 使用\w匹配任何单个字母数字字符:0-9a-zA-Z_(下划线)。
  • 使用\d匹配任何单个数字。
  • 使用\s匹配任何单个空白字符。

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

abc   // match
acc   // match
adc   // match
ac    // no match
abbc  // no match

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

a0c   // match
a3c   // match
a7c   // match
a8c   // no match
ac    // no match
a55c  // no match

匹配除 ...

之外的任何字符

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

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

aac   // no match
abc   // no match
acc   // no match
a c   // match
azc   // match
ac    // no match
azzc  // no match

(不要将^中的[^]与其他用法混淆为行首字符:^ =行首,{{1} } = line end。)

任意匹配任何字符

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

示例正则表达式:.?

a.?c

另见

答案 1 :(得分:3)

简单答案

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

示例

  • 匹配+ ...... [+]或+
  • 匹配一个...... a
  • 匹配&......&

...等等。您可以在以下网站上在线检查常规投放情况:https://regex101.com/

(根据评论进行了更新)