草庐IT

lambda表达式

全部标签

php - 如何在 PHP 正则表达式匹配中包含新行 "\n"

我有一个正则表达式如下:$regex='/(https?\:\/\/|www)[^(\"|\\\)]+/i';我只想从以下内容中提取url:Hereissomedummytexthttp://testwebsite.com.eu\n\nIfyoudon'tlikethisdummytextthentoughluck.我的结果返回http://testwebsite.com.euIf如何更改我的正则表达式,使其在搜索中包含\n?编辑-指向我的regex101查询的链接有效。但是当试图在php中实现时却没有。请注意我正在通过CLI运行php。https://regex101.com/r/l

php - 按空格分隔但忽略双引号字符串的正则表达式

我知道/[\s]+/'用空格分割字符串。我正在尝试扩展它以忽略双引号内的任何空格。所以我希望HelloWorld被拆分,而不是"HelloWorld"preg_split('/[\s]+/',$string)是我在PHP中使用的表达式。 最佳答案 您可以使用PCRE动词(*SKIP)(*FAIL)告诉正则表达式跳过表达式的特定部分。所以:".*?"(*SKIP)(*FAIL)|\s+将跳过双引号字符串。这是一个regex101演示:https://regex101.com/r/eBP67C/1/您可以在这里阅读更多相关信息,http

php - 如何使用正则表达式在最后一次模式出现后捕获字符?

我目前正在使用这个匹配模式的最后一次出现:__(?:.(?!__+))+$模式是“__”但是,我需要匹配模式之后的字符而不是模式本身。例如,给定字符串my__field__name__options我需要捕获“选项”,但上面的正则表达式捕获了“__options”。 最佳答案 如果没有先行,你可以在PHP中使用这个正则表达式:.*__\K.+RegExDemo正则表达式分解:.*#matchzeroormorecharacters(greedymatch)__#match"__"\K#resetmatchedinfo.+#match

php - 使用正则表达式删除字符串中不需要的字符

我正在尝试使用以下示例删除与特定模式不匹配的字符:精确匹配4个字母[a-zA-Z]{4}后跟空格\s{1,}然后是4个字符开头的模式一个字母表,最后3个数字[a-zA-Z]{1}[0-9]{3}如果我提供ABEHA501;生物学L340;生物学Z620;Q799;ABEHA501它匹配除Q799之外的所有内容,现在,我需要从字符串中删除/替换Q799。我尝试申请NegatedCharacterClasses但仍然没有得到想要的结果。$mystring="ABEHA501;BIOLL340;BIOLZ620;Q799;ABEHA501";$string=preg_replace("/[^

php - php 中的正则表达式- 从字符串中捕获 9 种类型的数字

我刚开始编码,对PHP中的正则表达式有一些小问题。我正在尝试从字符串中捕获以下数字类型。0000000000-000000000-00000000-000.000.00.00-000.000.00.0-000.000.00-0000000000-000000000-00000000-当然,0代表0-9之间的数字。这是我试过的模式:$pattern="/\d{3}[.]\d{3}[.]\d{2}[.]?\d{1-2}?/";这里有问题,但我不明白是什么?你能帮帮我吗? 最佳答案 看来你可以用/\b\d{3}([.\s]?)\d{3}\

php - 正则表达式:如何不替换任何 html 标签中的特定单词?

让我们假设我有这样一段文字:Thisisagreattest!We'retestingsomethingawesome.Clickheretotestit!.我想给“test”这个词添加一些颜色,但如果它在a标签中则不行。我试过这样做:/(?)test/但它不起作用。它是这样工作的:/(?)test/当然我有很多链接,所以这不是一个选项。整个代码应该是这样的:$replacement=preg_replace('/(?)test/','test',$replacement);预期结果:Thisisagreattest!We'retestingsomethingawesome.Click

php - 如何在 PHP 中使用正则表达式查找完全匹配项?

尝试用PHP中的正则表达式模式匹配我的URL时遇到一些问题。我的正则表达式:/article/([0-9A-Za-z]++)/post/([0-9A-Za-z-_]++)publicfunctionmatches(Route$route){$uri=filter_var(strip_tags($_SERVER['REQUEST_URI']),FILTER_SANITIZE_URL);if(preg_match('#'."/article/([0-9A-Za-z]++)/post/([0-9A-Za-z-_]++)".'#i',$uri,$this->matches)){returntr

php - 正则表达式将哈希封闭的 `##WORD=123##` 替换为方括号`[object word=123]`

我想用方括号替换主题标签,并在第一个方括号后添加一个词,所有字符串都需要小写。示例字符串:$str="Thisissometext##IDOBJECT=784##andanothersometext##IDOBJECT=1509####LATESTARTICLESHOME=321####IDOBJECT=321##";我想用[objectidobject=123]替换##IDOBJECT=123##格式的字符串。请注意,这里在第一个[括号和IDOBJECT字符串转换为idobject之后添加了额外的object词。我尝试使用此/(\##.*?\##)/正则表达式来查找这些字符串,但无法

php - 正则表达式用于匹配除空白以外的任何字符

我正在编写一个php类来从csv文件中提取数据。所以我需要正则表达式方面的帮助。数据样本DataDataDatatest1DatatestData867$33@!.//()7FieldsomthingField正则表达式/(?:Data|Field)(.+)/这不应该匹配第1、2和7行,因为它在数据和字段之后只有空格和制表符(空白)这是我的正则表达式测试器链接https://regex101.com/r/xpG25l/1/ 最佳答案 你可以做类似的事情(?:Data|Field)\h*\S.*要求\S(非空白字符)在任意数量的\h之

php - 这个正则表达式有什么作用

$pee=preg_replace('||',"$1",$pee);此正则表达式来自Wordpress源码(formatting.php,wpautop函数);我不确定它的作用,有人可以帮忙吗?实际上我正在尝试将这个函数移植到Python中...如果有人已经知道一个现有的端口,那会好得多,因为我对正则表达式真的很糟糕。 最佳答案 preg_replace()函数-有点令人困惑-除了用于正则表达式的标准“/”之外,您还可以使用其他分隔符,所以"||"将是一个匹配的正则表达式""在正文中。但是,我不清楚的替换参数是什么"$1"会这样做,