标签: preg-match

如何在PHP中将ereg表达式转换为preg?

由于自PHP 5.3.0以来不推荐使用POSIX正则表达式(ereg),因此我想知道将旧表达式转换为PCRE(Perl兼容正则表达式)(preg)的简单方法.

每个例子,我有这个正则表达式:

eregi('^hello world');
Run Code Online (Sandbox Code Playgroud)

如何将表达式转换为preg_match兼容表达式?

注意:此帖子用作与从ereg转换为preg相关的所有帖子的占位符,以及相关问题的重复选项.请不要关闭这个问题.

有关:

php pcre preg-replace preg-match ereg

135
推荐指数
4
解决办法
6万
查看次数

如何指定"空格或字符串结尾"和"空格或字符串的开头"?

成像您正在尝试模式匹配"stackoverflow".

您需要以下内容:

 this is stackoverflow and it rocks [MATCH]

 stackoverflow is the best [MATCH]

 i love stackoverflow [MATCH]

 typostackoverflow rules [NO MATCH]

 i love stackoverflowtypo [NO MATCH]
Run Code Online (Sandbox Code Playgroud)

我知道如果解析s​​tackoverflow如果它在两个站点上都有空格使用:

/\s(stackoverflow)\s/
Run Code Online (Sandbox Code Playgroud)

如果它在字符串的开头或结尾处是相同的:

/^(stackoverflow)\s/

/\s(stackoverflow)$/
Run Code Online (Sandbox Code Playgroud)

但是如何指定"空格或字符串结尾"和"空格或字符串的开头"?

regex preg-match

115
推荐指数
4
解决办法
9万
查看次数

PHP正则表达式:找不到结尾分隔符'^'

我在使用正则表达式方面遇到了一些麻烦.

这是我的代码

$pattern = "^([0-9]+)$";

if (preg_match($pattern, $input))
   echo "yes";
else
   echo "nope";
Run Code Online (Sandbox Code Playgroud)

我跑了然后得到:

警告:preg_match()[function.preg-match]:找不到结尾分隔符'^'

php regex pcre preg-match

85
推荐指数
2
解决办法
9万
查看次数

在PHP中使用preg_match时,"...中的未知修饰符'g'?

这是我正在尝试使用的正则表达式:

/^(\w|\.|-)+?@(\w|-)+?\.\w{2,4}($|\.\w{2,4})$/gim
Run Code Online (Sandbox Code Playgroud)

我在这个网站上找到了它,当我在那里试用它时效果很好.但是只要我把它放在我的代码中,我就会得到这样的信息:

Warning: preg_match() [function.preg-match]: Unknown modifier 'g' in C:\xampp\htdocs\swebook\includes\classes.php on line 22
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释什么是错的,为什么它在该网站上工作而不是在我的代码中?

php regex preg-match-all preg-match

78
推荐指数
1
解决办法
6万
查看次数

分隔符不能是字母数字或反斜杠和preg_match

我有这个代码:

$string1 = "My name is 'Kate' and im fine"; 
$pattern = "My name is '(.*)' and im fine"; 
preg_match($pattern , $string1, $matches);
echo $matches[1];
Run Code Online (Sandbox Code Playgroud)

当我运行它时会返回此错误:

警告:preg_match()[function.preg-match]:分隔符不能是字母数字或反斜杠

php regex preg-match

71
推荐指数
4
解决办法
13万
查看次数

包含一个或另一个词的正则表达式

我需要创建一个匹配整数的表达式,后跟"秒"或"分钟"

我试过这个表达式: ([0-9]+)\s+(\bseconds\b)|(\bminutes\b)

它工作正常几秒钟,但不是几分钟.

例如"5秒"给出5秒; 而"5分钟"给出;;分钟

regex preg-match

69
推荐指数
3
解决办法
8万
查看次数

使用php preg_match(正则表达式)将camelCase单词拆分为单词

我该怎么做才能分开这个词:

oneTwoThreeFour
Run Code Online (Sandbox Code Playgroud)

到一个数组,以便我可以得到:

one Two Three Four
Run Code Online (Sandbox Code Playgroud)

preg_match

我厌倦了这个,但它只是完整的说法

$words = preg_match("/[a-zA-Z]*(?:[a-z][a-zA-Z]*[A-Z]|[A-Z][a-zA-Z]*[a-z])[a-zA-Z]*\b/", $string, $matches)`;
Run Code Online (Sandbox Code Playgroud)

php regex string preg-match

64
推荐指数
7
解决办法
3万
查看次数

如何使用preg_match在数组中搜索?

如何使用preg_match搜索数组?

例:

<?php
if( preg_match( '/(my\n+string\n+)/i' , array( 'file' , 'my string  => name', 'this') , $match) )
{
    //Excelent!!
    $items[] = $match[1];
} else {
    //Ups! not found!
}
?>
Run Code Online (Sandbox Code Playgroud)

php regex arrays preg-match

50
推荐指数
3
解决办法
11万
查看次数

44
推荐指数
3
解决办法
15万
查看次数

正则表达式匹配IP地址

我是正则表达式的新手,我想使用preg_match函数来查找字符串是否是IP地址.

例如if $string = "45.56.78.222"或类似的东西,preg_match($regex, $string)应该返回true.那$regex应该是什么?

php regex string ip preg-match

42
推荐指数
3
解决办法
6万
查看次数

标签 统计

preg-match ×10

regex ×9

php ×8

pcre ×2

string ×2

arrays ×1

ereg ×1

ip ×1

preg-match-all ×1

preg-replace ×1