草庐IT

php - 用于确定字符串特定特征的正则表达式(即扑克牌)

我有一个“AsKcQsJd”形式的字符串,代表一副扑克牌中的4张牌。大写值代表牌面值(在本例中为Ace、King、Queen和Jack),小写值代表花色(在本例中为黑桃、梅花、黑桃、方block)。假设我有另一个值可以告诉我正在寻找什么套装。所以在这种情况下,我有:$hand='AsKcQsJd';$西装='s';我如何编写一个正则表达式来检查手牌中是否有A,然后是花色,所以在这种情况下是“As”以及任何其他有花色的牌?或者用“扑克术语”来说,我试图确定这手牌是否具有定义为$suit的花色的“A高同花听牌”。为了进一步说明,我需要检查是否存在以下两张卡片的任意组合:AsKs,AsQs,

php - 如何编写正则表达式来匹配阿拉伯语、英语、数字和空格字符?

在PHP中使用正则表达式,如何让用户输入阿拉伯语、英语、数字、_、-或空格。例如,用户可以输入以下字符串:10-abc10-米10-abcmo_abcمن-10 最佳答案 要检查您可以使用的阿拉伯字符\p{InArabic}This页面可能对您有所帮助。 关于php-如何编写正则表达式来匹配阿拉伯语、英语、数字和空格字符?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/10840

PHP PREG 正则表达式 : What does "\W" mean when using the UTF-8 modifier?

我知道正常phpregex(ASCII模式)“\w”(单词)表示“字母、数字和_”。但是,当您将多字节正则表达式与the"u"modifier一起使用时,这意味着什么??preg_replace('/\W/u','',$string); 最佳答案 任何不是字母、数字或下划线的内容。因此,就Unicode字符类而言,\W等同于不在L或N字符类中且不是下划线字符的每个字符。如果您使用\p{xx}编写它语法,它将等同于[^\p{LN}_]。 关于PHPPREG正则表达式:Whatdoes"\W

php - 使用正则表达式从 PHP 中的字符串解析函数

在PHP中使用正则表达式是否有一种合乎逻辑的方法来去除函数名称及其参数?目前我将它逐行拆分,以便我能够在每一行上都有每个函数以便于标记。所以:doSomeFunction(arg,moreargs,stuff);breakSomething();ini_set(include_path,/home/htdocs/);成为array([0]=>'doSomeFunction(arg,moreargs,stuff);',[1]=>'breakSomething();'andsoon...我遇到的真正问题是使用正则表达式使函数名称具有如下语法:$functionfromregex($args

php - filter_var($url, FILTER_VALIDATE_URL) 使用哪个正则表达式 php?

filter_var($url,FILTER_VALIDATE_URL)似乎是检测$url是否包含url的好方法。有什么办法可以看出这个函数检测的是什么正则表达式?谢谢 最佳答案 它使用其他东西而不是正则表达式。在C中,它检查php_url_parse_ex()(C)函数的返回值,您可以在以下位置查看:ext/standard/url.c,line97,调用ext/filter/logical_filters.c,line440.用这些术语来说:如果您在PHP中调用parse_url()(PHP),并执行与php_filter_va

php - 正则表达式:从部分字符串中删除换行符 (PHP)

我想从一个XML文件中删除所有换行符和回车符,以便所有标签各占一行。XML源示例:001Resourcename1Loremipsumdolorsitamet,consecteturadipiscingelit.Maecenasnibhmagna,fermentumetpretiumvel,malesuadasitametdolor.Morbidictum,nuncsedinterdumfacilisis,ligulaenimpharetratortor,ategestasurnamassanonnulla.002Resourcename2Loremipsumdolorsitamet,

php - 正则表达式被@符号包围是什么意思?

问题正则表达式被@符号包围是什么意思?这是否意味着不同于被斜线包围的东西?当@x或@i结束时呢?现在想想,周围的斜杠到底是什么意思?背景我看到了thisStackOverflowanswer,由约翰·库格曼(JohnKugelman)发布,他在其中展示了严格的正则表达式技能。现在,我习惯于看到正则表达式被斜线包围,如/^abc/但是他使用了一个被@符号包围的正则表达式:'@^%(.{2})#State,2chars([^^]{0,12}.)#City,13chars,delimitedby^([^^]{0,34}.)#Name,35chars,delimitedby^([^^]{0,2

PHP preg_replace 使正则表达式可选?

我有一些内容正在尝试解析...我有html,在html中我想用自定义字符串替换我所有的img标签。现在我遇到的问题之一是出现了一些内容:图像标签位于anchor之间。例如下面的代码我有工作......但我希望它是可选的,所以如果没有anchor标记被img标记包围,有没有人有任何关于正则表达式的好资源或者可以帮助我?谢谢!$content=preg_replace('#'.$image_tag.'#i',"{$image_id}",$content); 最佳答案 token后的问号使该token可选。使用(?...)对多个标记进行分

php - 忽略正则表达式模式中的重复项

我有一个正则表达式模式可以在文本文件中搜索单词。如何忽略重复项?例如,看看这段代码$pattern='/(lorem|ipsum|daboom|pahwal|ababaga)/i';$num_found=preg_match_all($pattern,$string,$matches);echo"$num_foundmatch(es)found!";echo"Matchedwords:".implode(',',$matches[0]);如果我在文章中有多个说lorem,输出将是这样的5matchesfound!Matchedwords:daboom,lorem,lorem,lorem

php - 用于检测连续数字的正则表达式 - 不适用于非英语输入

大家好,我有这段代码可以检查5个或更多连续数字:if(preg_match("/\d{5}/",$input,$matches)>0)returntrue;它适用于英语输入,但当输入字符串包含阿拉伯语/多字节字符时它会出错-即使输入文本中没有数字,它有时也会返回true。有什么想法吗? 最佳答案 您似乎在使用PHP。这样做:if(preg_match("/\d{5}/u",$input,$matches)>0)returntrue;注意表达式末尾的“u”修饰符。它告诉preg_*使用unicode模式进行匹配。