我有以下测试(格式如下):
<td scope="row" align="left">
My Class: TEST DATA<br>
Test Section: <br>
MY SECTION<br>
MY SECTION 2<br>
</td>
我正在尝试获取“测试部分:”和“我的部分”之后的文本
我用不同的RegEx模式进行了几次尝试,但结果一无所获。
如果我做:
(?<=Test)(.*?)(?=<br)
然后,我得到正确的答复:
' Section: '
但是,如果我这样做
(?<=Test)(.*?)(?=</td>)
我没有结果。结果应为“我的第二
部分
”
我也尝试过使用RegEx Multiline,但没有结果。
任何帮助,将不胜感激。
如果重要的话,我正在Python 2.7中进行编码。
如果不清楚,或者您需要更多信息,请告诉我。
使用re.S
或re.DOTALL
标志。或在正则表达式前加上(?s)
来.
匹配所有字符(包括换行符)。
没有标志,.
不匹配换行符。
(?s)(?<=Test)(.*?)(?=</td>)
例:
>>> s = '''<td scope="row" align="left">
... My Class: TEST DATA<br>
... Test Section: <br>
... MY SECTION<br>
... MY SECTION 2<br>
... </td>'''
>>>
>>> import re
>>> re.findall('(?<=Test)(.*?)(?=</td>)', s) # without flags
[]
>>> re.findall('(?<=Test)(.*?)(?=</td>)', s, flags=re.S)
[' Section: <br>\n MY SECTION<br>\n MY SECTION 2<br>\n ']
>>> re.findall('(?s)(?<=Test)(.*?)(?=</td>)', s)
[' Section: <br>\n MY SECTION<br>\n MY SECTION 2<br>\n ']
问题内容: 我需要从两个字符之间获取字符串。我有这个 并且必须在一个变量中分别返回4个字符串: 问题答案: 有。由于它接受正则表达式字符串,并且是正则表达式中的特殊字符,因此您需要对其进行转义(带有反斜杠)。而且,由于是在Java中字符串字面特殊字符,你需要逃脱 它 ,也一样,人们有时会感到迷惑。因此给出: 然后 将输出 ( 在 前三位上 有 尾随空格;如果需要,这些空格。)
问题内容: 我从html解析中得到一个字符串,即 我的代码是这样的 我不确定我的第二个拆分字符串应该是“’”还是“’,” 我希望我的结果是 问题答案: 我将使用正则表达式从这样的复杂输入中提取子字符串。 Swift 3.1: Swift 2.0:
问题内容: 假设我们有类似的东西: 我想将“ someText”替换为其他内容。考虑到我不知道someText可能是什么(任何字符串)并且我所知道的是它将被&firstString =和&endString =包围的事实,最佳方法是什么? 编辑:对不起,看起来这还不够清楚。我不知道“ someText”可能是什么,我仅有的信息是它将位于&firstString =和&endString =之间 我
问题内容: 我尝试获取<%=和%>之间的字符串,这是我的实现: 它返回 但我的期望是: 我在哪里错了以及如何纠正它? 问题答案: 您的模式很好。但是,您不应该轻信它,应该这样做。以下代码提供了您正在寻找的输出:
问题内容: 我试图从一个较大的字符串中提取一个字符串,使它在’:’和’;’之间得到一切。 当前 期望的输出 问题答案: 你可以试试这个
问题内容: 我想删除两个字符之间以及字符本身之间的字符串,例如说: 我想替换“#?”之间所有出现的字符串 和“;” 并用字符将其删除。 由此 对此 我怎么能用Java做到呢? 问题答案: 使用正则表达式: