RegularExpression

RegularExpression["regex"]
表示由字符串 指定的广义正则表达式.

更多信息更多信息

  • 在函数诸如 StringMatchQStringReplaceStringCasesStringSplit 中,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) 项的子串. 表示完全匹配的字符串.

范例范例打开所有单元关闭所有单元

基本范例 (2)基本范例 (2)

找到包含字符 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 的新功能
New to Mathematica? Find your learning path »
Have a question? Ask support »