Mathematica > 核心语言 > 字符串操作 > 字符串模式 > RegularExpression >
Mathematica > 核心语言 > 规则与模式 > 模式 > 字符串模式 > RegularExpression >

RegularExpression

RegularExpression
表示由字符串 指定的广义正则表达式.
  • RegularExpression 支持用于普通的字符串操作语言中的标准的正则表达式的语法.
  • 下列的基本元素可以用于正则表达式:
c直接输出字符 c
.除换行符外的任意字符
[c1c2...]任意字符
[c1-c2]- 范围内的任意字符
[^c1c2...] 以外的任意字符
p*p 重复0次或多次
p+p 重复1次或多次
p?p 出现0次或一次
p{m,n}p 重复 mn
p*?,p+?,p??匹配的最短字符串
(p1p2...)匹配次序 ... 的字符串
p1|p2匹配 的字符串
  • 下列表示字符的类型:
\\d数字 0-9
\\D非数字
\\s空格、换行符、制表符或其他间隔符号
\\S非间隔字符
\\w单词字符(字母、数字或 )
\\W非单词字符
[[:class:]]一个类中的字符
[^[:class:]]非该类中的字符
  • 可以使用下列已定义好的类:.
  • 下列表示字符串中的坐标:
^字符串(或行)的开头
$字符串(或行)的结尾
\\b单词边界
\\B除单词边界的任意处
  • 在正则表达式后,可以设置下列选项:
(?i)忽略大小写
(?m)行首和行尾匹配 (多行模式)
(?s)允许 匹配新行
(?-c)注销选项
  • 等表示逐字输出字符 、等.
  • 类似已命名的 Mathematica 模式,例如, 可以在正则表达式字符串中用 (regex) 来调用.
  • 在正则表达式的字符串中, \\n 表示与括号内的正则表达式对象 (regex) 项相匹配的子串.
  • 在例如 StringReplaceStringCases 的函数中,显示在正则表达式RegularExpression["regex"]->rhs 右方的任意 ,采取相对应的匹配括号内的正则表达式 (regex) 项的子串. 表示完全匹配的字符串.
找到包含字符 a,b,c,d,e 的单词:
字符串模式的等价形式:
判断字符串是否由单词或间隔符组成:
字符串模式的等价形式:
找到包含字符 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]=
提取除换行符外的任意字符:
"a" 和 "b" 中的任一字符:
"a" 和 "c" 之间的任意字符,包括 "a" 和 "c":
除"a" 和 "1" 外的任意字符:
重复1次或多次的任意数字:
重复 2 次或 3 次的字符 "a" :
任意数字:
非数字字符:
空格、换行符、制表符或其他间隔符:
非间隔符:
单词字符:
非单词字符:
找到所有大写字符:
在一个新行的开始,分割字符串:
在一个新行的末尾,分割字符串:
在单词的分界处插入一个字符:
除单词边界外,在每个字母处分割一个字符串:
StringExpression 可以包含 RegularExpression 对象:
条件模式:
选择性的匹配一个或多个换行:
通过附加一个数量词问号"?",进行有限数量的匹配:
指严格按照字符 匹配:
可数的子模式:
StringMatchQ 决定字符串匹配模式:
StringCases 找到匹配的子串:
StringSplit 分割一个字符串成子串,用一个分隔符模式:
版本 5.1 的新功能
Ask a question about this page  |  Suggest an improvement  |  Leave a message for the team
格式:   HTML  |  CDF