正则表达式在bash中不合适

时间:2016-04-27 07:34:38

标签: regex linux bash expression

选择以下哪个字符串与正则表达式匹配

(1 U 22)*2*

a. 22112222112211
b. 11112
c. The empty string.
d. 12121
e. 1121111222

我做了一些搜索,U表示" Ungreedy。使量词* +?{}仅消耗形成匹配所必需的那些字符,剩下的那些字符可用于模式的下一部分。当" U"选项不起作用,单个量词可以通过跟随问号而变得非贪婪。相反,当" U"实际上,问号使个人量词贪婪。 " https://www.cheatography.com/davechild/cheat-sheets/regular-expressions/

但是我完全不了解它,贪婪的正则表达和不正常的正则表达是什么意思?你能展示我上面列举的例子吗?

1 个答案:

答案 0 :(得分:-1)

贪婪意味着它会尝试找到最长的匹配字符串。

对于以下字符串:

{ this} is a { test} } 

贪婪的正则表达式示例

\{.*\}

此正则表达式将匹配以下全文:

{this}是{test}}

非贪婪

\{.*\}

只会匹配 { this}