我正在写一篇关于正则表达式的学期论文,关于在引用正则表达式时使用“匹配”这个词的方式,我有点困惑。以下哪项是正确使用的措辞:
或
或者他们都是正确的?欢迎提出所有意见!我真的很想做到这一点,我认为这有助于我理解这一点。
答案 0 :(得分:9)
我认为两者都是正确的。这取决于你关注的是什么。如果您的焦点在正则表达式本身,以查看它是否适用于给定的字符串或字符串集,那么您使用第一个句子。相反,如果您对查看符合某些条件的一组字符串更感兴趣,则第二个适用。你知道,匹配在某些条件下具有某种等价的含义,所以这两个句子听起来都等同于我。
答案 1 :(得分:3)
字符串与正则表达式模式匹配,因此我会说后者更准确
答案 2 :(得分:3)
当两件事情相符时,(从逻辑角度来看)至少与你提到它们的顺序无关。
所以这取决于你想要关注的是什么。
字符串匹配正则表达式:Focus在字符串上。
正则表达式匹配字符串:Focus在正则表达式上。
答案 3 :(得分:2)
后者对我来说听起来更好。正则表达式指定字符串可以匹配的模式。但两者都没有什么不妥。
答案 4 :(得分:1)
如果你对我说任何一个,我会明白你在说什么。我相信人们都对我说过,我从未想过要么需要纠正任何一个。
答案 5 :(得分:0)
我同意字符串匹配(或不匹配)正则表达式。为了说清楚为什么我要说:正则表达式定义了一个语法,并且给定的字符串要么根据语法要么格式良好。
答案 6 :(得分:0)
“正则表达式匹配字符串”
如果RE匹配整个字符串,则为True(例如,使用^ $或只是匹配所有内容)。否则,我会写:正则表达式在字符串中有匹配。
“字符串匹配正则表达式”
再次,如果正则表达式匹配所有内容,则为true,否则听起来有点奇怪
但实际上,在整场比赛的情况下,这两个句子是等价的。
答案 7 :(得分:0)
由于您在字符串中寻找正则表达式,因此说您找到正则表达式更为正确,因为这是一种单向关系。
但至于哪个匹配哪个是双向关系而且它并不重要(无论如何英语,我不能保证其他语言),所以要么是正确的。
我的偏好是说字符串与正则表达式匹配,因为RE是不变的部分而字符串发生了变化。但这是个人偏好,不太可能对现实有任何影响: - )
答案 8 :(得分:0)
“字符串匹配正则表达式”似乎是“字符串是由正则表达式定义的语言并与其同构的简写”。
“正则表达式匹配字符串”似乎是“从正则表达式编译的解析器自动机将解析字符串并在最终状态停止的简写。”
答案 9 :(得分:0)
我会说:
在设计时,用户/ develper会创建一个匹配字符串的正则表达式。
在运行时时,正则表达式引擎会找到与正则表达式匹配的字符串。
(不打算作为定义,只是常见用法的一个例子。)
答案 10 :(得分:0)
由于正则表达式表示可能是无限的有限字符串集,我会说写“字符串s匹配正则表达式r”是最正确的。你也可以说“string s是正则表达式r生成的集合的成员”。
此外,您应该考虑使用 accept 和 reject 这两个词,特别是如果您打算在论文中讨论有限自动机。