为什么grep -noE '.*‘匹配
w,来自一组特殊的二元分数,V_i,i= 1,2,\dots,w称为方向数。使用i,G(i)的[格雷码]位来选择方向数。要获得Sobol序列值,s_i采用具有适当方向数的格雷码的二进制值的[排他或]。所需维数影响V_i 37196767的选择:\int_0^1 f(u)\,du \frac{1}{N}\,\sum_{i=1}^N (X_i)。
我只想拥有自己的每一个元素,而不是贪婪。
发布于 2014-09-13 20:18:06
您需要指定非贪婪版本:.*?,但是grep正则表达式不支持它。
如果使用grep,则可以使用-P选项(或--perl-regexp):
grep -noP '<math>.*?</math>'发布于 2014-09-13 20:20:17
使用:
grep -noE '<math>[^<]*</math>'而不是匹配<math>和</math>之间的任何序列,这将不允许<在序列中,因此它不允许</math>在内部。
它也不允许任何其他标签,但看起来这并不是你的文本的问题。
如果使用的是支持PCRE的工具,则可以使用非贪婪的regexp:
<math>.*?</math>标准grep不使用PCRE,但如果使用grep,则可以使用-P选项。
发布于 2014-09-13 20:13:12
由于.*是贪婪的,所以它将匹配从第一次发现的<math>到最后找到的</math>。
https://stackoverflow.com/questions/25827224
复制相似问题