此为 Mathematica 7 文档,内容基于更早版本的 Wolfram 语言
查看最新文档(版本11.1)

RegularExpression

RegularExpression["regex"]
由字符串 "regex" 确定的正则表达式。
  • RegularExpression 支持标准的正则表达式的语法,支持普通的字符操作。
  • 下列的基本元素可以用于正则表达式:
c直接输出字符 c
.任意字符,除换行符
[c1c2...]任意字符 ci
[c1-c2]c1-c2 范围内的任意字符
[^c1c2...]任意字符,除 ci
p*重复 p 0 次或多次
p+重复 p 1 次或多次
p? p 出现 0 次或 1 次
p{m,n}重复 p ,重复次数在 mn 范围内
p*?,p+?,p??匹配的最短的字符串
(p1p2...)匹配次序 p1p2... 的字符串
p1|p2匹配 p1p2 的字符串
  • 下列表示字符的类型:
\\d数字 0-9
\\D非数字
\\s空格,换行,tab或其它间隔符号
\\S非间隔字符
\\w单词字符 (字母, 数字或 _)
\\W非单词字符
[[:class:]]一个类中的字符
[^[:class:]]非该类中的字符
  • 可以使用下列已定义好的类: alnumalphaasciiblankcntrldigitgraphlowerprintpunctspaceupperwordxdigit
  • 下列表示字符串中的坐标:
^字符串(或行)的开头
$字符串(或行)的结尾
\\b单词边界
\\B除单词边界的任意处
  • 在正则表达式后,可以设置下列选项:
(?i)忽略大小写
(?m)行首和行尾匹配 ^$ (多行模式)
(?s)允许 . 匹配新行
(?-c)注销选项
  • \\. ,\\[ ,等表示逐字输出字符 . ,[ ,等。
  • 类似已定义的 Mathematica 模式,例如 x:expr。可以在正则表达式中用 (regex) 来调用。
  • 在正则表达式的字符串中,\\n 表示匹配括号内的正则表达式 (regex)n 项的子串。
  • 在例如 StringReplaceStringCases 的函数中,显示在正则表达式RegularExpression["regex"]->rhs 右方的任意 $n ,采取相对应的匹配括号内的正则表达式 (regex)n 项的子串。 $0 表示完全匹配的字符串。
找到涉及字符 a,b,c,d,e 的单词:
In[1]:=
Click for copyable input
Out[1]=
字符模式的等价形式:
In[2]:=
Click for copyable input
Out[2]=
 
判断字符串是否由单词或间隔符组成:
In[1]:=
Click for copyable input
Out[1]=
字符模式的等价形式:
In[2]:=
Click for copyable input
Out[2]=
5.1 的新功能