StringMatchQ

StringMatchQ["string",patt]

测试 "string" 是否与字符串模式 patt 匹配.

StringMatchQ["string",RegularExpression["regex"]]

测试 "string" 是否与指定的普通表达式匹配.

StringMatchQ["string",{patt1,patt2,}]

测试 "string" 是否与任一 patti 匹配.

StringMatchQ[{"string1","string2",},patt]

对每一个 "stringi" 给出结果.

StringMatchQ[patt]

表示可应用于表达式的 StringMatchQ 的算符形式.

更多信息和选项

  • StringMatchQ 允许普通的 StringExpression 字符串模式,以及包含下列元字符的字符串模式:
  • *零个或更多字符
    @1 个或更多字符,除了大写字符
    \\* 等按文字输出等
  • Verbatim["p"] 指定逐字的字符串 "p"*@ 按文字输出.
  • 设置选项 IgnoreCase->True 使得 StringMatchQ 忽略大小写.
  • 设置选项 SpellingCorrection->True 使 StringMatchQ 即使有小部分字符不相同,也认为该字符串匹配模式.
  • StringMatchQ[form][expr] 等价于 StringMatchQ[expr,form].
  • StringMatchQ[BioSequence["type","seq"],patt] 比较字符串 "seq"patt. 在这种情况下,patt 中的简并字母被解释为基于生物分子序列类型的通配符模式. 用 Verbatim["patt"] 在字面上匹配简并字母.
  • BioSequence 的文档列出了每种类型的生物分子序列支持的简并字母.
  • 如果 StringMatchQ 运算的生物分子序列是环状的,则可以进行环绕匹配.

范例

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

基本范例  (4)

测试字符串是否与模式匹配:

用缩写的字符串模式:

给出一组字符串作为输入:

使用 StringMatchQ 的算符形式:

用算符形式选择字符串:

范围  (10)

用字符串模式:

用一个正则表达式:

正则表达式和字符串表达式的混合:

用日期的模式匹配:

测试任一模式是否出现:

StringMatchQ 自动线性作用于列表:

检查生物分子序列是否与字符串模式匹配:

在与生物分子序列对比的模式中使用通配符:

"N" 仅在生物分子序列中是一个简并字母:

Verbatim 避免简并匹配:

环状序列支持环式匹配:

选项  (3)

IgnoreCase  (2)

IgnoreCaseTrue 检查子字符串是否匹配,不考虑大小写:

与大小写无关的检查的算符表示:

SpellingCorrection  (1)

选项 SpellingCorrection -> True 允许自动进行拼写检查:

应用  (1)

求出包含双字母的所有单词:

属性和关系  (9)

对于按文字输出的字符串,SameQ 等于 StringMatchQ

对于列表中元素的快速提取,用 Pick

Select 比较:

StringMatchQ 逐项作用于第一个参数中的列表的各个元素:

StringMatchQ["string",{patt1,patt2,}] 等价于 StringMatchQ["string",Alternatives[patt1,patt2,]]

StringFreeQ 检测无子串匹配一个模式:

StringFreeQTrue 时,StringMatchQ 返回 False

StringContainsQ 检查子字符串是否与模式匹配:

StringMatchQ 检查整个字符串是否与模式匹配:

StringContainsQFalse 时,StringMatchQ 通常返回 False

StringContainsQ["string",patt] 等价于 StringMatchQ["string",___~~patt~~___]

StringStartsQ["string",patt] 等价于 StringMatchQ["string",StartOfString~~patt~~___]

StringEndsQ["string",patt] 等价于 StringMatchQ["string",___~~patt~~EndOfString]

可能存在的问题  (3)

StringMatchQ 支持元字符:

其他大多数字符串函数不支持,这可能导致明显矛盾的结果:

将字符串模式封装在 Verbatim 中,禁用元字符,从而给出一致的结果:

StringMatchQ 不作用于有嵌入格式信息的字符串:

拼写检查仅对字母字符串模式起作用:

Wolfram Research (1988),StringMatchQ,Wolfram 语言函数,https://reference.wolfram.com/language/ref/StringMatchQ.html (更新于 2020 年).

文本

Wolfram Research (1988),StringMatchQ,Wolfram 语言函数,https://reference.wolfram.com/language/ref/StringMatchQ.html (更新于 2020 年).

CMS

Wolfram 语言. 1988. "StringMatchQ." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/StringMatchQ.html.

APA

Wolfram 语言. (1988). StringMatchQ. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/StringMatchQ.html 年

BibTeX

@misc{reference.wolfram_2024_stringmatchq, author="Wolfram Research", title="{StringMatchQ}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/StringMatchQ.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_stringmatchq, organization={Wolfram Research}, title={StringMatchQ}, year={2020}, url={https://reference.wolfram.com/language/ref/StringMatchQ.html}, note=[Accessed: 21-November-2024 ]}