有人能以一种可以理解的方式解释这两个术语吗?
我有一个很大的HTML文件,有很多标记,如下所示:
<p class="MsoNormal" style="margin: 0in 0in 0pt;">
<span style="font-size: small; font-family: Times New Roman;">stuff here</span>
</p>
Run Code Online (Sandbox Code Playgroud)
我正在尝试进行Vim搜索和替换以摆脱所有class="",style=""但我无法完成匹配.
我的第一次尝试是这样的
%s/style=".*?"//g
Run Code Online (Sandbox Code Playgroud)
但Vim似乎并不喜欢?.不幸的是,删除?使得比赛过于贪婪.
我如何才能使我的比赛不合适?
我正在尝试使用sed清理URL行以仅提取域名..
所以来自:
http://www.suepearson.co.uk/product/174/71/3816/
Run Code Online (Sandbox Code Playgroud)
我想要:
(有或没有火车斜线,没关系)
我试过了:
sed 's|\(http:\/\/.*?\/\).*|\1|'
Run Code Online (Sandbox Code Playgroud)
和(逃避非贪婪量词)
sed 's|\(http:\/\/.*\?\/\).*|\1|'
Run Code Online (Sandbox Code Playgroud)
但我似乎无法使非贪婪量词工作,所以它总是最终匹配整个字符串.
我发现这个关于正则表达式的优秀教程,虽然我直观地理解"贪婪","不情愿"和"占有欲"量词的作用,但我的理解似乎存在严重漏洞.
具体来说,在以下示例中:
Enter your regex: .*foo // greedy quantifier
Enter input string to search: xfooxxxxxxfoo
I found the text "xfooxxxxxxfoo" starting at index 0 and ending at index 13.
Enter your regex: .*?foo // reluctant quantifier
Enter input string to search: xfooxxxxxxfoo
I found the text "xfoo" starting at index 0 and ending at index 4.
I found the text "xxxxxxfoo" starting at index 4 and ending at index 13.
Enter your regex: .*+foo // possessive quantifier
Enter …Run Code Online (Sandbox Code Playgroud) 我需要有关非贪婪选项的正则表达式匹配的帮助.
匹配模式是:
<img\s.*>
Run Code Online (Sandbox Code Playgroud)
要匹配的文字是:
<html>
<img src="test">
abc
<img
src="a" src='a' a=b>
</html>
Run Code Online (Sandbox Code Playgroud)
此表达式匹配从<img最后到的所有文本>.我需要它与>初始后遇到的第一个匹配<img,所以在这里我需要得到两个匹配而不是我得到的匹配.
我尝试了所有非贪婪的?组合,没有成功.
我正在使用jQuery.我有一个带有特殊字符块的字符串(开头和结尾).我想从特殊字符块中获取文本.我使用正则表达式对象进行字符串查找.但是,当有两个特殊字符或更多时,如何告诉jQuery找到多个结果?
我的HTML:
<div id="container">
<div id="textcontainer">
Cu?c chi?n pháp lý gi?a [|c? th?|nghi?m|] th? tr??ng [|test2|?ây là test l?n 2|] ch?ng khoán [|M?|day la nuoc my|] và ngân hàng ??u t? quy?n l?c nh?t Ph? Wall m?i ch? b?t ??u.
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
和我的JavaScript代码:
$(document).ready(function() {
var takedata = $("#textcontainer").text();
var test = 'abcd adddb';
var filterdata = takedata.match(/(\[.+\])/);
alert(filterdata);
//end write js
});
Run Code Online (Sandbox Code Playgroud)
我的结果是:[|cơthử|nghiệm|]thịtrường[| test2 |đâylàtestlần2|]chứngkhoán[|Mỹ| day la nuoc my |].但这不是我想要的结果:(.如何获得[文本]第1次和[演示]第2次?
我在互联网上搜索信息后完成了我的工作^^.我做这样的代码:
var filterdata = takedata.match(/(\[.*?\])/g);
Run Code Online (Sandbox Code Playgroud)
我想grey最短的比赛,模式应该是这样的:
<car ... model=BMW ...>
...
...
...
</car>
Run Code Online (Sandbox Code Playgroud)
...表示任何字符,输入是多行.
我如何使python正则表达式像"(.*)"这样,给定"a(b)c(d)e"python匹配"b"而不是"b"c(d"?
我知道我可以使用"[^)]"而不是".",但我正在寻找一种更通用的解决方案,让我的正则表达式更清洁.有没有办法告诉python"嘿,尽快匹配"?
我正在尝试使用正则表达式将字符串分成两部分.字符串格式如下:
text to extract<number>
Run Code Online (Sandbox Code Playgroud)
我一直在使用(.*?)<,<(.*?)>哪个工作正常,但在阅读了一点regex之后,我才开始想知道为什么我需要?表达式中的.我通过这个网站找到它们之后才这样做,所以我不确定它们之间的区别.
Notepad ++是否支持非贪婪的正则表达式?
例如文字:
abcxadc
Run Code Online (Sandbox Code Playgroud)
我想用模式获取零件:
a.+c
Run Code Online (Sandbox Code Playgroud)
现在我得到整个字符串而不是2个部分.我试过用'?' 运营商但没有成功.
regex ×10
regex-greedy ×10
non-greedy ×2
command-line ×1
expression ×1
filter ×1
greedy ×1
grep ×1
javascript ×1
notepad++ ×1
pcre ×1
python ×1
sed ×1
shell ×1
vim ×1