相关疑难解决方法(0)

我如何编写一个与非贪婪相匹配的正则表达式?

我需要有关非贪婪选项的正则表达式匹配的帮助.

匹配模式是:

<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)

我在http://regexpal.com上测试

此表达式匹配从<img最后到的所有文本>.我需要它与>初始后遇到的第一个匹配<img,所以在这里我需要得到两个匹配而不是我得到的匹配.

我尝试了所有非贪婪的?组合,没有成功.

regex non-greedy regex-greedy

315
推荐指数
3
解决办法
31万
查看次数

如何提取两个标记之间的子串?

假设我有一个字符串'gfgfdAAA1234ZZZuijjk',我想只提取'1234'部分.

我只知道在我感兴趣的部分之前AAA和之后ZZZ的几个字符是什么1234.

使用sed它可以用字符串做这样的事情:

echo "$STRING" | sed -e "s|.*AAA\(.*\)ZZZ.*|\1|"
Run Code Online (Sandbox Code Playgroud)

这将给我1234带来的结果.

如何在Python中做同样的事情?

python string substring

288
推荐指数
14
解决办法
63万
查看次数

如何使用正则表达式删除尾随空格?

我想删除代码中的尾随空格和制表符,而不删除空行.

我试过了:

\s+$
Run Code Online (Sandbox Code Playgroud)

和:

([^\n]*)\s+\r\n
Run Code Online (Sandbox Code Playgroud)

但他们都删除了空行.我猜也\s匹配行尾字符.


更新(2016年):

现在我使用Sublime的TrailingSpaces包自动执行这样的代码清理,具有自定义/用户设置:

"trailing_spaces_trim_on_save": true
Run Code Online (Sandbox Code Playgroud)

它突出显示尾随的空白区域,并在保存时自动修剪它们.

regex whitespace trailing

58
推荐指数
3
解决办法
9万
查看次数

正则表达式以匹配跨平台换行符

我的程序可以接受换行符为\n,\ r \n或\ r \n的数据(例如Unix,PC或Mac样式)

构造一个匹配编码的正则表达式的最佳方法是什么?

或者,我可以在输入上使用universal_newline支持,但现在我有兴趣看看正则表达式是什么.

python regex cross-platform eol

54
推荐指数
2
解决办法
2万
查看次数

如何使用正则表达式使点匹配换行符

我有一个字符串,包含正常字符,白色字符集和之间的换行符.这个正则表达式不起作用:/<div>(.*)<\/div>.这是因为.*与换行符不匹配.我的问题是,怎么做?

php regex

27
推荐指数
4
解决办法
2万
查看次数

RegExp排除,寻找一个没有跟随另一个的单词

我正在尝试搜索所有出现的"Tom",而不是"Thumb".

我试图寻找

Tom ^((?!Thumb).)*$
Run Code Online (Sandbox Code Playgroud)

但我仍然得到与汤姆拇指相匹配的线条.

regex

24
推荐指数
2
解决办法
2万
查看次数

PHP preg_match(.*)与以前的换行符不匹配

我在LONGTEXT列中有这些数据(因此保留了换行符):

Paragraph one
Paragraph two
Paragraph three
Paragraph four
Run Code Online (Sandbox Code Playgroud)

我正在尝试匹配第1段到第3段.我正在使用此代码:

preg_match('/Para(.*)three/', $row['file'], $m);
Run Code Online (Sandbox Code Playgroud)

这什么都不返回.如果我尝试在段落的第一行内工作,请匹配:

preg_match('/Para(.*)one/', $row['file'], $m);
Run Code Online (Sandbox Code Playgroud)

然后代码工作,我得到正确的字符串返回.我在这做错了什么?

php preg-match

24
推荐指数
2
解决办法
4万
查看次数

C#中的多行正则表达式

如何在多行模式下使用正则表达式匹配和替换文本?

我知道RegexOptions.Multiline选项,但是用C#中的新行字符指定匹配all的最佳方法是什么?

输入:

<tag name="abc">this
is
a
text</tag>
Run Code Online (Sandbox Code Playgroud)

输出:

[tag name="abc"]this
is
a
test
[/tag]
Run Code Online (Sandbox Code Playgroud)

啊,我发现了实际的问题.'&'和';' 在Regex中,匹配文本在一行中,而同样需要在Regex中进行转义,以便在有新行的情况下工作.

c# regex

21
推荐指数
2
解决办法
3万
查看次数

正则表达式匹配变量多行?

让我说我有以下文字,我想提取"数字开头"和"数字结束"之间的文字有动态的线条数量和唯一的数字变化,例如:第一,第二等我将从中提取数据的每个文件在"数字开头"和"数字结束"之间有不同的行数.如何编写正则表达式以匹配"数字开头"和"数字结束"之间的内容,而不知道数字起点和"结束数字"之间的文件中有多少行?

问候!

This is the first line This is the second line

Start of numbers

This is the first line
This is the second line
This is the third line
This is the ...... line
This is the ninth line

End of numbers
Run Code Online (Sandbox Code Playgroud)

c# regex

13
推荐指数
1
解决办法
2万
查看次数

python多行正则表达式

如何提取所有字符(包括换行符),直到第一次出现单词的给予者序列?例如,输入如下:

输入文本:

"shantaram is an amazing novel.
It is one of the best novels i have read.
the novel is written by gregory david roberts.
He is an australian"
Run Code Online (Sandbox Code Playgroud)

the 我希望从shantaram第一次出现的文本中提取文本的序列the在第二行.

输出必须是 -

shantaram is an amazing novel.
It is one of the
Run Code Online (Sandbox Code Playgroud)

我整个上午一直在努力.我可以编写表达式来提取所有字符,直到它遇到一个特定的字符,但是如果我使用的表达式如下:

re.search("shantaram[\s\S]*the", string)
Run Code Online (Sandbox Code Playgroud)

它与换行符不匹配.

python regex

10
推荐指数
2
解决办法
2万
查看次数