草庐IT

lambda表达式

全部标签

php - 如何在 PHP 正则表达式中获得全部匹配的 3 个条件?

我正在尝试编写一个正则表达式并匹配3个条件,如果满足所有三个条件将返回true。条件1)字符串以“{”开头条件2)字符串在括号之间的某处不包含空格条件3字符串以“}”结尾到目前为止,我已经想出了^{|[]|}$,它会检查空格。但是如果括号之间没有空格,我需要让它匹配。如果字符串以{开头但不以}结尾,这也将返回true,反之亦然。我一直在搞乱regex101.com,但无法弄清楚没有空格的部分。如果字符串中不存在某些东西,有人可以解释如何匹配吗? 最佳答案 看来你需要/^{\S*}$/参见regexdemo.详细信息:^-字符串的开始

javascript - 在 laravel blade 模板里面写一个 js 表达式

我正在使用tagsinput进行一些标记操作。我想向从Controller发送的标签字段添加一些默认值。但似乎我尝试使用js表达式的方式不起作用。谁能帮我。这是代码。varcities=newBloodhound({datumTokenizer:Bloodhound.tokenizers.obj.whitespace('text'),queryTokenizer:Bloodhound.tokenizers.whitespace,local:members});cities.initialize();varelt=$('#researcher');elt.tagsinput({itemV

仅匹配常规有效 URL 的 PHP 正则表达式

我正在寻找仅匹配有效在线URL的正则表达式。例如:exmaple.comhttp://exmaple.comhttps://exmaple.comwww.exmaple.comhttp://www.example.comhttps://www.example.com以及特殊域和扩展名,例如:t.coexample.dealssh.party等等,但不会匹配所有复杂的东西,如ftp、get查询或URL,如2.3.3.1。我一直在使用'#(www\.|https?://)?[a-z0-9]+\.[a-z0-9]{2,4}\S*#i'但它检测到日期,例如3.3.2017。我需要这个,因为我将

用于分割字符串的 PHP preg_match_all 正则表达式

任何人都可以帮助完成我的正则表达式吗?我的字符串格式如下:{p:19}Ja?DumöchtestzurKönigin?{p:20}Hmm...DubistgekommenumdenTitelKriegerinzuerhalten?Verstehe.DasistganzschöntapferfürsoeinejungeDame.DieKöniginwirdsicherauchsehrüberraschtsein.{t:19}Bittesehr,gehdirekthinein.{t:20}TreibeDichhiernichtherum,wennDuhiernichtszusuchenha

PHP property decleration 接受数组并且不接受可以在编译过程中评估的任何其他表达式

在研究PHP中的oop时,我注意到属性声明接受数组作为值,如此处所述PHPdocumentationclassTest{public$var7=array(true,false);}我注意到文档说:Thisdeclarationmayincludeaninitialization,butthisinitializationmustbeaconstantvalue--thatis,itmustbeabletobeevaluatedatcompiletimeandmustnotdependonrun-timeinformationinordertobeevaluated.阅读后this了解

php - 逗号分隔列表的子字符串的正则表达式

我是正则表达式的初学者,所以如果这是一个幼稚的问题,我提前道歉!我有一个字符串,其中两个值用逗号分隔:12.345678,23.45678901我正在尝试使用正则表达式(这是一项要求)返回第一个带3位小数的值12.345和第二个带2位小数的值23.45。理想情况下,完整的正则表达式匹配为12.345,23.45我可以使用以下正则表达式获得第一个值12.345:^\d+\.\d{0,3}。这很有效,因为它只返回完整的匹配项(没有第1组匹配项)。但我对如何在同一字符串中返回第二个值23.45感到很困惑。我也试过这个正则表达式:(^.{0,6})(?:.*)(,)(.{0,5}),它正确解析

用于验证 URL 的 PHP 正则表达式

我正在寻找一个合适的正则表达式来匹配一个URL(一个带有方案、域、路径等的完整URL)我通常会使用filter_var但在这种情况下我不能,因为我必须支持PHP我在网上搜索过,但找不到任何我确信会万无一失的东西,而我在SO上所能找到的只是人们说要使用filter_var。有人有用于此的正则表达式吗?我的代码(只是为了让您看到我想要实现的目标):functionvalidate_url($url){if(function_exists('filter_var')){returnfilter_var($url,FILTER_VALIDATE_URL);}returnpreg_match(R

php - 正则表达式:将所有 URL 设为绝对

我需要一种方法来获取一段HTML代码并使所有URL成为绝对的。我尝试采用各种正则表达式示例,但没有成功。这些是要求:替换HREF和SRCurl如果URL已经是绝对的,则保留它如果URL是绝对的,替换它每个HTML都来自一个已知的URL(example.com/folder/file.html),可用于创建绝对URL。例如:src="image.png"变成src="http://example.com/folder/image.png"href="/home.html"变成href="http://example.com/home.html"我找到了一个完全符合我需要的功能:http:

php - 如何在递归正则表达式中进行反向引用匹配?

我有这样一个字符串:$data='id=1username=foobarcomment=Thisisasamplecomment';我想删除第三个字段中的\n(comment=...)。我有这个正则表达式可以满足我的目的但不是很好:preg_replace('/\bcomment=((.+)\n*)*$/',"comment=$2",$data);我的问题是第二组中的每个匹配项都会覆盖前一个匹配项。因此,而不是有这个:'...comment=Thisisasamplecomment'我最终得到了这个:'...comment=comment'有什么方法可以将中间反向引用存储在正则表达式中

PHP 正则表达式显示问题

我正在尝试创建一个用于对书名进行排序的字段,该字段会去除前导“A,An,The”并将其附加到逗号和空格之后的强项。因此“TheRoad”将变成“Road,The”听起来很简单,但下面的代码中有些东西会导致IE(没有其他浏览器)吐出一大块乱码。$node_field[0]['value']=preg_replace('/^(A|An|The|a|an|the)(.*)/',"$2\x00,$1",$node->title); 最佳答案 你应该使用更像的东西$node_field[0]['value']=preg_replace('/^