草庐IT

lambda表达式

全部标签

PHP - 根据正则表达式生成字符串

我想根据我的正则表达式生成一个字符串。此功能的目的是当有人忘记密码并填写“通过电子邮件发送新密码”表格时,我会生成一个随secret码并将其通过电子邮件发送给他们。这个新密码必须满足我的正则表达式的条件。这是我的正则表达式:'/.*^(?=.{6,})(?=.*[A-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W).*$/' 最佳答案 你看过Hoa\Regexlibrary了吗??它使用各向同性随机方法基于正则表达式生成字符串。 关于PHP-根据正则表达式生成字符串,我

php - 正则表达式排除学术头衔

我想将段落字符串拆分成句子数组。当然,我使用带字符点(.)的正则表达式将段落拆分为句子。问题是句子中的学术名称缩写,每个缩写都使用点(.)。所以我的正则表达式完全错误地分割了段落。这是段落的例子:MeanwhileRectorofBogorAgriculturalUniversity,Prof.Dr.HerrySuhardiyanto,inhisremarksrequestedthatthegraduatestudentsshouldkeeponstudyingandwillfinalizetheirstudiesontime.Presentinthatgeneralaudiencew

php - 可变长度正则表达式回顾

我的正则表达式如下:(?如您所见,我正在尝试匹配WORD的所有实例,除非它们在“引号”内。所以……WORD如果我没有收到错误,我相信我的正则表达式会完美运行:Compilationfailed:lookbehindassertionisnotfixedlength考虑到lookbehind的局限性,有什么办法可以实现我的意图吗?如果您能想到任何其他方式,请告诉我。非常感谢,马修附注WORD部分实际上将包含JonGrubersURL检测器 最佳答案 我建议采用不同的方法。只要引号正确平衡,这就会起作用,因为如果后面的引号数量是奇数,你

php - 正则表达式从字符串中获取货币和金额

我有一个正则表达式preg_match('/(?它以货币形式返回我的金额,但我正在尝试获取与该金额相关联的符号。1)例如字符串是$300.00askingprice应该返回$300.00但现在它返回3002)例如字符串是EUR300.00应该返回EUR300.00但现在返回300只是我想要有金额的货币。谢谢 最佳答案 首先,您匹配可以是$或EUR的货币,后跟可选的空格:(?:EUR|[$])\s*然后,匹配主要数字组,后跟可选句点和两位数字:\d+(?:\.\d{2})?我们总共得到了这个:$pattern='/(?:EUR|[$]

php - dd/mm/yyyy 的正确正则表达式日期模式

我需要更新同一行,它还包括dd/mm/yyyy格式的日期以及一组文件中的一些字符串。我已经在此处检查了类似问题的答案,但是无法使任何建议的模式在我的代码中运行。我当前的PHP代码是:当我在命令提示符下运行这段代码时,它没有给出任何错误消息,而且似乎运行正常。但是一旦它完成并且我检查了我的文件,我发现每个文件的内容都被删除了,它们都变成了0KB文件,里面没有任何内容。 最佳答案 您没有为正则表达式设置定界符。分隔符可以是任何(非字母数字、非反斜杠、非空白)字符。除了/之外,你还想使用定界符,这样你就不必对已经在你的模式中的/进行转义。

php - zsh: 错误的数学表达式:操作数预期在 `' HTTP_HOST...'

我正在尝试从终端运行以下php:php-r"error_reporting(E_NONE);$_SERVER['HTTP_HOST']='localhost';require('./config/site.php');echojson_encode(array('HOST'=>DB_SERVER,'USER'=>DB_USERNAME,'PASS'=>DB_PASSWORD,'NAME'=>DB_DATABASE));"我收到以下错误:zsh:错误的数学表达式:操作数预期在“HTTP_HOST...”转义=无效,转义[会导致PHP解析错误:PHP解析错误:第1行命令行代码中的语法错误、

php - 未注释的 html 标记的正则表达式

我需要找到所有html中未注释的标记。例如,在html中:我需要一个匹配的正则表达式但不匹配因为它被包围着.我可以找到所有具有以下正则表达式的标签//m,但它也匹配那些被评论的,但我只需要那些没有被评论的。提前感谢您的帮助! 最佳答案 你应该使用DOMDocument类而不是正则表达式来解析HTML。检查this.';$dom=newDOMDocument;$dom->loadHTML($html);foreach($dom->getElementsByTagName('link')as$tag){echo$tag->getAttr

php - preg_replace 正则表达式不输出任何内容

$str='{author}{content}';$pattern='/\{([a-z_0-9]+)\}/i';$subst=array('author'=>'Mr.Google','id'=>'1239124587123','content'=>'Thisissomesimpletext');$str=preg_replace($pattern,$subst['$1'],$str);echo$str;{text}的每个实例结果都是“”是我在捕获组上做错了什么吗?我用preg_match_all完成了此操作,它返回为{author}和author这是这里的问题吗?

php - 固定长度的正则表达式后视提示可变长度的后视

这是我要运行的代码:$str='a,b,c,d';returnpreg_split('/(?如您所见,这里使用的正则表达式是:/(?这是一个简单的固定长度负向后视,用于“前面是不是反斜杠的东西,然后是反斜杠的东西!”。这个正则表达式在http://www.phpliveregex.com上工作得很好但是当我去实际尝试运行上面的代码时,我被吐出错误:Warning:preg_split()[function.preg-split]:Compilationfailed:lookbehindassertionisnotfixedlengthatoffset13更糟糕的是,一位程序员同事在他的

php - 使用正则表达式以任意顺序匹配多个单词

这个问题在这里已经有了答案:Regextomatchstringcontainingtwonamesinanyorder(9个回答)关闭8年前。好吧,假设我想在一个句子中匹配3个单词......但我需要以任何顺序匹配它们,例如:$sentences=Array("onetwothreefourfivesixseveneightnineten","tennineeightsevensixfivefourthreetwoone","onethreefivesevennineten","twofoursixeightten","twotenfoursixone",);所以我需要匹配单词“二”