标签: pcre

在sed中非贪婪(不情愿)的正则表达式匹配?

我正在尝试使用sed清理URL行以仅提取域名..

所以来自:

http://www.suepearson.co.uk/product/174/71/3816/
Run Code Online (Sandbox Code Playgroud)

我想要:

http://www.suepearson.co.uk/

(有或没有火车斜线,没关系)

我试过了:

 sed 's|\(http:\/\/.*?\/\).*|\1|'
Run Code Online (Sandbox Code Playgroud)

和(逃避非贪婪量词)

sed 's|\(http:\/\/.*\?\/\).*|\1|'
Run Code Online (Sandbox Code Playgroud)

但我似乎无法使非贪婪量词工作,所以它总是最终匹配整个字符串.

regex pcre sed greedy regex-greedy

393
推荐指数
10
解决办法
23万
查看次数

你如何调试正则表达式?

正则表达式可能变得非常复杂.缺少空白区域使他们难以阅读.我无法通过调试器使用正则表达式.那么专家如何调试复杂的正则表达式呢?

regex debugging pcre

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

如何在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万
查看次数

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万
查看次数

用pcre支持重建uwsgi

当运行uwsgi时,我收到以下消息:

!!! no internal routing support, rebuild with pcre support !!!
Run Code Online (Sandbox Code Playgroud)

我已经使用以下命令安装了pcre(我认为):

Sudo apt-get install libpcre3 libpcre3-dev
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么即使在我安装了pcre软件包之后我仍然收到此消息,如果我需要重新安装uwsgi并激活pcre我该怎么做?

此外,内部路由是否重要?我认为它确实如此,否则uwsgi的制造商就不会提出这个消息.我运行Ubuntu 12.04 LTS.

谢谢您的帮助!

pcre uwsgi

66
推荐指数
5
解决办法
4万
查看次数

ASCII"图像"中的"垂直"正则表达式匹配

注意:这是关于现代正则表达口味的可能性的问题.这不是使用其他方法解决这个问题的最佳方法.它受到早期问题的启发,但不仅限于正则表达式.

问题

在ASCII"图像"/ art/map/string中:

....X.......
..X..X...X....
X.X...X..X.....
X....XXXXXX.....
X..XXX...........
.....X..........
..............X
..X...........X....
..X...........X....X...
....X.....
Run Code Online (Sandbox Code Playgroud)

我想找到三个简单的垂直线形式X:

X
X
X
Run Code Online (Sandbox Code Playgroud)

线条的数量在图像中是可变的,每条线条的宽度也是可变的.

问题

使用正则表达式(PCRE/PHP,Perl,.NET或类似)可以:

  1. 确定是否存在这样的形成
  2. 计算这些结构的数量/匹配它们的起点(上例中为4)

.net php regex perl pcre

58
推荐指数
5
解决办法
2591
查看次数

正则表达式中的Tilde运算符

我想知道正则表达式中tilde运算符的含义是什么.

我有这样的声明:

if (!preg_match('~^\d{10}$~', $_POST['isbn'])) {
    $warnings[] = 'ISBN should be 10 digits';
}
Run Code Online (Sandbox Code Playgroud)

我发现这个文件解释了代字号的含义: ~

它说这=~是一个perl运算符,意味着对这个正则表达式运行这个变量.

但为什么我的正则表达式包含两个波浪号运算符?

php regex pcre

51
推荐指数
2
解决办法
3万
查看次数

匹配正确添加两个二进制数与PCRE正则表达式

是否有可能匹配形式的添加(?<a>[01]+)\s*\+\s*(?<b>[01]+)\s*=\s*(?<c>[01]+),在哪里a + b == c(如二进制加法)必须保持?

这些应匹配:

0 + 0 = 0
0 + 1 = 1
1 + 10 = 11
10 + 111 = 1001
001 + 010 = 0011
1111 + 1 = 10000
1111 + 10 = 10010
Run Code Online (Sandbox Code Playgroud)

这些不符合:

0 + 0 = 10
1 + 1 = 0
111 + 1 = 000
1 + 111 = 000
1010 + 110 = 1000
110 + 1010 = 1000
Run Code Online (Sandbox Code Playgroud)

regex pcre

51
推荐指数
1
解决办法
1409
查看次数

有效地查询一个字符串与多个正则表达式

假设我有10,000个正则表达式和一个字符串,我想知道字符串是否与其中任何一个匹配并获得所有匹配.执行此操作的简单方法是仅针对所有正则表达式逐个查询字符串.有更快,更有效的方法吗?

编辑:我尝试用DFA替换它(lex)这里的问题是它只会给你一个单一的模式.如果我有一个字符串"hello"和模式"[H | h] ello"和".{0,20} ello",DFA只会匹配其中一个,但我希望它们都能击中.

regex algorithm pcre

48
推荐指数
9
解决办法
1万
查看次数

Apache安装; libpcre错误

在Ubuntu 11.10上安装Apache时,出现以下错误:

configure:错误:找不到APR.请阅读文档.

我按照这里的说明,然后,我得到以下错误:

configure:error:找不到libpcre的pcre-config.PCRE是必需的,可从http://pcre.org/获得

我做错了什么,如何解决?

apache pcre

45
推荐指数
3
解决办法
9万
查看次数

标签 统计

pcre ×10

regex ×7

php ×4

preg-match ×2

.net ×1

algorithm ×1

apache ×1

debugging ×1

ereg ×1

greedy ×1

perl ×1

preg-replace ×1

regex-greedy ×1

sed ×1

uwsgi ×1