语法复杂的逻辑语句
logical statement with complex syntax
我发现了一件衬衫,上面有一些正则表达式,应该是摇矛引语。有人可以解释一下如何将其翻译成“2b or not 2b”吗?
/((bb)|(b|b[^b]|[^b])*b?)/
这是一个正则表达式(regex)。
在 Perl 正则表达式中,/
表示正则表达式的开头或结尾。 |
表示 "or",^
表示 "not"。括号表示内容顺序重要的组,方括号表示内容顺序无关紧要的组。 ?
表示匹配前面的模式一次或根本不匹配。
给定一个字符串,
(bb)
匹配确切的字符串 bb
。这是表示 "to be."
的部分
(b|b[^b]|[^b])*b?
在组内,它匹配 b
,或 b
后跟除 b
以外的任何字符,或只是 b
以外的任何字符。将 *
添加到该组的末尾匹配它 0 次或更多次。 b?
最后意味着你有一个尾随 b
或者你没有。这应该表示 "not to be," 尽管也可以将 bb
与这部分匹配。
您在 ?
之后有一个无关紧要的闭括号 )
。
莎士比亚的名言 "to be or not to be," 程式化为“2b or not 2b”。
我发现了一件衬衫,上面有一些正则表达式,应该是摇矛引语。有人可以解释一下如何将其翻译成“2b or not 2b”吗?
/((bb)|(b|b[^b]|[^b])*b?)/
这是一个正则表达式(regex)。
在 Perl 正则表达式中,/
表示正则表达式的开头或结尾。 |
表示 "or",^
表示 "not"。括号表示内容顺序重要的组,方括号表示内容顺序无关紧要的组。 ?
表示匹配前面的模式一次或根本不匹配。
给定一个字符串,
(bb)
匹配确切的字符串 bb
。这是表示 "to be."
(b|b[^b]|[^b])*b?
在组内,它匹配 b
,或 b
后跟除 b
以外的任何字符,或只是 b
以外的任何字符。将 *
添加到该组的末尾匹配它 0 次或更多次。 b?
最后意味着你有一个尾随 b
或者你没有。这应该表示 "not to be," 尽管也可以将 bb
与这部分匹配。
您在 ?
之后有一个无关紧要的闭括号 )
。
莎士比亚的名言 "to be or not to be," 程式化为“2b or not 2b”。