草庐IT

lambda表达式

全部标签

php - 如何编写正则表达式从这些 URL 中提取数字?

我正在尝试编写一个正则表达式来匹配这些URL中的数字(12345678和1234567890)。http://www.example.com/p/12345678http://www.example.com/p/12345678?foo=barhttp://www.example.com/p/some-text-123/1234567890?foo=bar规则:数字总是在斜杠之后数字可以有不同的长度正则表达式必须检查URL中是否包含/p/数字可能在URL的末尾,或者后面可能有变量我的尝试:\/p\/([0-9]+)匹配第一个和第二个,但不匹配第三个。所以我尝试了:\/p\/[^\/?]

php - 正则表达式 X/Y 坐标

我有符合这种模式的数据:(x|y)。x和y可以是负数,在这种情况下符号-存在。我正在尝试构建一个正则表达式来匹配x和y。这是我当前的表达方式,它对我来说似乎有效但不起作用:/\((-?\d+)\|(-?\d+)\)/这是原始数据:‭(-112|‭‭-522‬‬)‭(-112|‭‭522‬‬)(112|-‭‭522‬‬)(112|‭‭522‬‬)有什么想法吗? 最佳答案 您的测试数据中有一些不可见的Unicode字符。删除它们,您的正则表达式将workjustfine.例如,您的(-112|-522)示例实际上是\u0028\u002

php - 如何正确转义字符串以用于 PHP 中的正则表达式?

我正在尝试转义一个字符串,以便在PHP的正则表达式中使用。到目前为止我试过:preg_quote(addslashes($string));我认为我需要addslashes才能正确说明字符串中的所有引号。然后preg_quote转义正则表达式字符。但是,问题是引号是用反斜杠转义的,例如\'。但是随后preg_quote用另一个反斜杠转义反斜杠,例如\\'。因此,这再次使报价未转义。切换这两个函数也不起作用,因为这会留下未转义的反斜杠,然后将其解释为特殊的正则表达式字符。PHP中是否有函数来完成该任务?或者怎么做? 最佳答案 正确的方

php - 在 PHP 中解决一个数学问题/表达式,它是一个字符串

用户可以输入数学问题(表达式),如5+654、6^24、2!、sqrt(543)、log(54)、sin5、sin(50)。经过一些重新格式化(例如,将sin5更改为sin(5))并进行评估后,PHP给出了正确的结果:$problem="5+5324";eval("$result=".$problem);echo$problem."=".$result;但是,这是很不安全的:/*Ifyoureadthis,please,plzdon'tbestupidandDONOTEXECUTEthiscode!!!!!*/$problem="shell_exec('rm-rf/')";eval("

php - 在 php 中使用正则表达式过滤 URL

我想做的是阻止发布在我网站上的任何类型的url和链接,问题是这些人开始发布这些链接,例如:W/W/W.DOMAIN.C/O/MW//W//W//.DOMAIN.C//O//M他们正在使用许多不同的变体,我不知道该怎么做才能全部阻止它们。谢谢 最佳答案 您应该考虑使用垃圾邮件检查服务,例如akismet并将其合并到您的网站中。它将帮助您捕获这样的垃圾邮件。这样,您就不必为正则表达式而苦恼。 关于php-在php中使用正则表达式过滤URL,我们在StackOverflow上找到一个类似的问题

php - PHP 中的正则表达式 : Matching to the UTS18 standard

Unicode通用语言环境数据存储库(CLDR)包含有关语言和字符之间关系的大量信息。例如,您可以通过查看misc.exemplarCharacters来确定特定语言中使用了哪些字符。图表。这些图表的原始数据存储为XML文件,示例字符根据Unicode正则表达式标准存储为正则表达式UTS18.以下是UTS18正则表达式的一些示例:1.[aàbcçdeéèfghiíïjklŀmnoóòpqrstuúüvwxyz]2.[অআইঈউঊঋএঐওঔং\u0981ঃকখগঘঙচছজঝঞটঠড{ড\u09BC}ড়ঢ{ঢ\u09BC}ঢ়ণতথদধনপফবভময{য\u09BC}ৰলৱশষসহািী

php - 如何将尾随换行符与正则表达式匹配?

我正在尝试验证字符串,以便不允许尾随空格/换行符(PHP_EOL、\n、\r、\t和“”)。这是代码:$pattern='/^[a-zA-Z0-9]+?[^\s]$/';$value='foo'.PHP_EOL;$status=preg_match($pattern,$value);对于尾随的PHP_EOL和“\n”表达式匹配,对于“\t”、“\r”和“”则不匹配。禁止字符串末尾的所有空格/换行符(包括PHP_EOL和“\n”)的正确表达式是什么? 最佳答案 $的问题是,它匹配字符串orimmediatelybeforeanewli

php - 带有 preg_match_all 的 php 中的正则表达式

我想创建一种匹配字符串的方式abc(xyz)abcabc(xyz)[123]其中每个括号都是一个可选单元。最理想的是,我想要的是preg_match_all('complicatedregex',$mystring,$matches);$matches返回以下内容:如果$mystring=abc(xyz)[123]R给出$matches=array(0=>"abc",1=>"xyz",2=>"123",3=>"R")如果$mystring=abc(xyz)R给出$matches=array(0=>"abc",1=>"xyz",2=>"",3=>"R")如果$mystring=abc[1

php - 正则表达式匹配包含电话号码的文本中正好 6 个数字的字符串

我有一些自由文本block,其中包含我需要捕获的电话号码和多个6位数字。6位数字有一个可选的“,”。6位数字的示例可以是123456或123,456,但我需要将其与12344568901等电话号码区分开来我有:preg_match_all(",\[\W_][0-9]{3}(?:,)[0-9]{3}[\W_][\D]\d",$html,$value);有更好的方法吗? 最佳答案 如果没有示例输入,但要查看正则表达式有点困难,但有几点观察:[0-9]可以替换为\d(因为,你已经在最后使用它了)[\D]与\D完全相同。它本身就是一个字符类

php - 使用 htaccess 和正则表达式重写旧 URL

我在运行的基于WordPress的网站上遇到关于我的.htaccess文件中的重写规则的问题。最近对网站进行了大修,我的永久链接结构发生了变化。以前是/%year%/%monthnum%/%postname%.html现在是/%year%/%monthnum%/%postname%/我遇到的问题是Google存储了所有.html链接。因此,通过Google访问链接的访问者会收到404。我希望发生的是,只要传入的URL末尾有.html并匹配永久链接结构格式,重定向到相同的URL,只是没有html扩展名。我尝试将重写规则添加到我的.htaccess文件中,但遇到无法正常工作的问题。我不确定