我试图在PowerShell中解析一个正则表达式,没有任何运气。我已经创建了正则表达式并且已经测试它在RegExr上工作,尽管当我尝试在其上执行匹配查询时它没有返回任何结果。
正则表达式正在寻找下面某种模式的出现(包括价格和地址之间的两个空行。:
$date_1 = mysqli_real_escape_string($dbCon, $_POST['date_1']);
$date_2 = mysqli_real_escape_string($dbCon, $_POST['date_2']);
$date_1 = date('Y-m-d',strtotime('$date_1'));
$date_2 = date('Y-m-d',strtotime('$date_2'));
我的正则表达式:$9,999,999
26 Fake Street, Fake Island, ABC 9999
我的PowerShell代码如下:
\$[\d]{1},[\d]{3},[\d]{3}\n\n\n\d{1}.*?, ([A-Z])\w+ [[\d]{4}
这个查询是否可行,还可以在找到它时返回所有这些查询吗?
答案 0 :(得分:1)
您可以使用以下正则表达式:
(?m)s*\$\d{1},\d{3},\d{3}\s*(?:\r\n|\r|\n)+\d+.*?, ([A-Z][a-zA-Z]*)\s+\d{4}
请参阅demo
所有匹配都在$matches
运算符设置的全局-match
变量中返回。请在regular-expressions.info了解详情。
答案 1 :(得分:0)
要匹配新行,您需要匹配回车字符以及新行字符\r\n
。因此,您只需将\n\n\n
更改为\r\n\r\n\r\n