我一直在尝试将正则表达式从ruby转换为PHP,但是我运气不佳。这是ruby正则表达式:QUOTED_LITERAL=/"[^"\\]*(?:\\.[^"\\]*)*"/UNQUOTED_LITERAL=/[^\s=,][^\s=,\\]*(?:\\.[^\s=,\\]*|=[^,>])*/LITERAL=/(#{QUOTED_LITERAL}|#{UNQUOTED_LITERAL})/PAIR=/#{LITERAL}\s*=>\s*#{LITERAL}/这是我在PHP中的表现:constPAIR='/("[^"\\]*(?:\\.[^"\\]*)*"|[^\s=,][^\s=
我想写一个带有断言的正则表达式来从字符串unknownstring/55.1中提取数字55,这是我的正则表达式$str='unknownstring/55.1';preg_match('/(?所以,基本上我想说的是给我斜线后的数字,然后是点和数字1,之后没有字符。但它与正则表达式不匹配。我只是试图从末尾删除$符号并且它匹配。但是这个条件是必不可少的,因为我需要它作为字符串的结尾,因为unknownstring部分可以包含类似的文本,例如未知/545.1nstring/55.1。也许我可以使用preg_match_all,并取最后一场比赛,但我想了解为什么第一个正则表达式不起作用,我的错
我有一个包含如下内容的文件:test:fOwimWPu0eSaNR8test2:vogAqsfXpKzCfGr我希望能够在文件中搜索test并将:之后的字符串设置为一个变量,以便可以显示、使用等。这是我目前用于在文件中查找“测试”的代码。$file='file.txt';$string='test';$searchFile=file_get_contents($file);if(preg_match('/\\b'.$string.'\\b/',$searchFile)){echo'true';//FindString}else{echo'false';}我该怎么做?
我需要从HTML中提取所有图像,而不仅仅是从标记,但来自任何地方,包括相对路径。我试过这个正则表达式:([a-z\-_0-9\/\:\.]*\.(jpg|jpeg|png|gif))..但遇到特殊字符时失败。喜欢inthiscase例如。我如何抓取路径,使其从'开始?(单引号),"(双引号)或/,和之间没有空格,以图像扩展名jpg|jpeg|png|gif结尾?编辑:我尽可能使用DOM解析器,但我必须在此处使用正则表达式从几乎所有地方提取路径,包括内联CSS和JS。 最佳答案 你可以使用lookbehind:(?这会解析任何不包含引
我需要regexphp方面的帮助。如果在字符串中找到某个字符后的数字。获取该数字并在应用数学后将其替换为。比如货币转换。我应用了这个正则表达式https://regex101.com/r/KhoaKU/1([^\?])AUD(\d)正则表达式不正确我想要这里所有匹配的数字,只有它匹配40,但还有20.00、9.95等。我试图得到所有。并转换它们。functionsimpleConvert($from,$to,$amount){$content=file_get_contents('https://www.google.com/finance/converter?a='.$amount.
(抱歉我的英语不好)我有一个字符串,我想拆分成一个数组。角括号是多个嵌套数组。应保留转义字符。这是一个示例字符串:$string='[[["Hello,\"how\"areyou?","Good!",,,123]],,"ok"]'结果结构应该是这样的:array(0=>array(0=>array(0=>'Hello,\"how\"areyou?',1=>'Good!',2=>'',3=>'',4=>'123',),),1=>'',2=>'ok',)我测试过:$pattern='/[^"\\]*(?:\\.[^"\\]*)*/s';$return=preg_match_all($pat
假设我有以下主题:abcdefghidef我想匹配以def结尾且前面没有abc的单词(在本例中为ghidef)。我该如何匹配?当我使用时:(?我得到了第二个def但我在这里没有得到ghi。 最佳答案 无需回头看。您可以使用负面前瞻:\b(?!abc)\w*def\bRegExDemo正则表达式分解:\b-断言单词边界(?!abc)-否定前瞻,它断言一个词在\b之后不以abc开头(词边界)\w*-匹配0个或多个单词字符def-单词的结尾文本是def\b-字边界 关于php-以消极的眼光捕捉
我还在为一个有匹配词的项目而努力。假设我有一个给定的字符串,比如maxmuster。然后我想标记this我的随机单词maxs的一部分,它在maxmuster>按照正确的顺序,就像字母一样。我会举一些例子,然后我会告诉你我已经做了什么。让我们保留字符串maxmuster。粗体部分是正则表达式匹配的部分(最好是在php中,但也可以是python、bash、javascript等)最大秒我的maxmu是乐穆集合当然m,u,...也会被匹配。我知道,我稍后会修复它。但是,我认为解决方案应该没那么难,所以我尝试将词分组,如下所示:/(maxmuster)?|(maxmuste)?|(maxm
我有以下使用和工作的正则表达式:/\B@(@?\w+(?:::\w+)?)([\t]*)(\(((?>[^()]+)|(?3))*\))?/x这个字符串@extends('template','test')正确分组并提供我需要的内容。问题是如果字符串在引号内包含一个未闭合的括号-它会失败:@extends('template','te)st')将@extends('template','te)作为输出我如何告诉此RegEx忽略引号内的括号('或")这是问题的RegExr演示:http://regexr.com/v1?396ci下面是应该都可以通过的字符串列表:@extends('tem
我希望能够删除人们使用重复字符制作的换行符等,例如:****************************************************----------------------------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^等等我不想指定它将匹配哪些字符,也许所有不是\w字符?还要注意它们不会总是在新行开始/结束..这可能吗? 最佳答案 为此你必须决定阈值长度来决定哪些是真正的分隔符,称之为N,然后你可以这样做:$input=preg_re