linux 正则表达式深度解析(2)

n - 开启行敏感的匹配:'^' 和 '$' 匹配行首和行尾;'.' 和否定集('[^...]')不
匹配换行符。此功能等同于 'pw' 模式串。覆盖 bNewLine 选项。
m - 等同于 'n'。
p - '^' 和 '$' 只匹配整个字符串的首尾,不匹配行;'.' 和否定集不匹配换行符。
覆盖 bNewLine 选项。
w - '^' 和 '$' 匹配行首和行尾;'.' 和否定集匹配换行符。覆盖 bNewLine 选项。
s - '^' 和 '$' 只匹配整个字符串的首尾,不匹配行;'.' 和否定集匹配换行符。覆
盖 bNewLine 选项。ARE 状态下默认使用此模式。

x - 开启扩展模式:在扩展模式中,将忽略表达式中的空白符和注释符 '#' 后的内容
例如:
@code@
(?x)
\s+ ([[:graph:]]+) # first number
\s+ ([[:graph:]]+) # second number
@code@
等同于 "\s+([[:graph:]]+)\s+([[:graph:]]+)"。
t - 关闭扩展模式,不忽略空白符和注释符后的内容。ARE 状态下默认使用此模式。

6. 与 BRE/ERE 模式不同的 Perl 风格字符类换码序列:

perl类 等效POSIX表达式 描述
----------------------------------------------------------------------------
\a - 响铃字符
\A - 不论当前模式如何,仅匹配整个串的最开头
\b - 退格字符 ('\x08')
\B - 转义字符本身 ('\\')
\cX - 控制符-X (= X & 037)
\d [[:digit:]] 10 进制数字 ('0' - '9')
\D [^[:digit:]] 非数字
\e - 退出符 ('\x1B')
\f - 换页符 ('\x0C')
\m [[:<:]] 单词开始位置
\M [[:>:]] 单词结束位置
\n - 换行符 ('\x0A')
\r - 回车符 ('\x0D')
\s [[:space:]] 空白符
\S [^[:space:]] 非空白符
\t - 制表符 ('\x09')
\uX - 16 位 UNICODE 字符 (X∈[0000 .. FFFF])
\UX - 32 位 UNICODE 字符 (X∈[00000000 .. FFFFFFFF])
\v - 纵向制表符 ('\x0B')
\w [[:alnum:]_] 组成单词的字符
\W [^[:alnum:]_] 非单词字符
\xX - 8 位字符 (X∈[00 .. FF])
\y - 单词边界(\m 或 \M)
\Y - 非单词边界
\Z - 不论当前模式如何,仅匹配整个串的最尾部
\0 - NULL,空字符
\X - 子表达式向前引用 (X∈[1 .. 9])
\XX - 子表达式向前引用或 8 进制表示的 8 字符
\XXX - 子表达式向前引用或 8 进制表示的 8 字符

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wfyysf.html