有什么方法可以使用正则表达式返回第n次出现?我确实搜索了论坛,只发现了超出正则表达式本身的解决方案(即需要编程语言的支持)。
示例:正则表达式:
(?:\$(\d+(?:,\d{3})*\.\d{2}))
Run Code Online (Sandbox Code Playgroud)
输入:
thiscanbeanything$25.74thiscanbesomethingelse
alsowithnewlines$533.63thisonetoo$54.32plusthis$62.42thisneverends
Run Code Online (Sandbox Code Playgroud)
我需要提取第一个(25.74)。稍后,我可能需要提取第三个(即54.32)。
我的正则表达式当前正在匹配所有匹配项。我可以在匹配后检索第n个元素,但是我的问题是:是否可以仅通过正则表达式来实现(即正则表达式将仅返回我想要的第n个元素)?
谢谢!
请解释如何使用grep命令从以下json中提取一些指定的文本 -
{"result":"Customer information saved successfully with Customer id :59 and version :1","status":{"responseCode":200,"result":null,"responseMessage":"Success","responseType":"info"}}
Run Code Online (Sandbox Code Playgroud)
经过一些谷歌搜索后,通过使用带正则表达式的grep看起来是可能的.但它没有用.你能指出错误吗?
cat response.txt | grep -Po '(?<="Customer id ":)[0-9]+'
Run Code Online (Sandbox Code Playgroud)
假设:response.txt包含上面的json.
如果是,请解释.
我是正则表达式的新手.我想从网页源中获取一些数据.我曾经
file_get_contents("url")获得该页面的HTML源代码.现在我想在一些特殊标签中捕获一部分.
我preg_match_all()为此找到了作品.现在我想要一些帮助来解决我的问题,如果可能的话,帮助我找出如何解决这样的类似问题.
在下面的示例中,我如何获取数据<ul>?(我希望这个示例HTML代码可以让我更容易理解.)
<div class="a_a">qqqqq<span>www</span> </div>
<ul>
<li>
<div class="a_a"><h3>aaaa</h3> aaaa aaaaa</div>
</li>
<li>
<div class="b_b">bbbbb <span class="s-s">bbbb</span> bbbb</div>
</li>
<li>
<div class="c_c d-d">cccc cccc ccccc</div>
</li>
</ul>
<table>
<tr>
<td>sdsdf</td>
<td>hjhjhj</td>
</tr>
<tr>
<td>yuyuy</td>
<td>ertre</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud) 我在regex101上创建了一个正常表达式,它按预期工作,但问题是在Powershell中一个部分显然无效; 这个\K.
本质上,我正在寻找一个字符串的实例,并在字符串的实例后返回整个单词.所以这是一个例子:
\btest\s+\K\S+
Run Code Online (Sandbox Code Playgroud)
这会查找单词的每个示例test并返回单词后面的单词.我确实尝试过使用Lookaheads和Lookbehinds进行实验,而其中一些确实有效,但它们仍然要么返回,test要么还有其他不必要的字符.
有没有办法\K在powershell中复制?或者甚至更好,任何允许PowerShell使用的附加组件\K?
为什么在数据(d)上应用正则表达式(rx)给出输出(o)?
正则表达式(rx):
s/(?<!\#include)[\s]*\<[\s]*([^\s\>]*)[\s]*\>/\<$1\>/g
Run Code Online (Sandbox Code Playgroud)
数据(d):
#include <a.h> // 2 spaces after e
Run Code Online (Sandbox Code Playgroud)
输出(o):
#include <a.h> // 1 space is still there
Run Code Online (Sandbox Code Playgroud)
预期产出是:
#include<a.h> // no space after include
Run Code Online (Sandbox Code Playgroud)