Tag: expression式

添加斜杠到每个url的末尾(需要对nginx重写规则)

我试图得到一个“/”到每个url的结尾: example.com/art 应该 example.com/art/ 我使用nginx作为web服务器。 我需要这个重写规则.. 为了更好的理解检查这个: http://3much.schnickschnack.info/art/projekte 如果你按下一个小图片下的大缩略图重新加载并显示此url: http://3much.schnickschnack.info/art/projekte/#0 如果我现在在所有url上都有一个斜杠(最后),它将无需重新加载站点。 现在我在nginx-http.conf中有这个设置: server { listen *:80; server_name 3much.schnickschnack.info; access_log /data/plone/deamon/var/log/main-plone-access.log; rewrite ^/(.*)$ /VirtualHostBase/http/3much.schnickschnack.info:80/2much/VirtualHostRoot/$1 last; location / { proxy_pass http://cache; } } 如何configurationnginx添加斜杠? (我想我应该重写规则?)

如何检查,如果一个PHPstring只包含英文字母和数字?

在JS中我使用这个代码: if(string.match(/[^A-Za-z0-9]+/)) 但我不知道,如何在PHP中做到这一点。

\ d +在正则expression式中意味着什么?

我是新来的正则expression式,并accros下面的\ d +。 我不完全知道这意味着什么,请指出正确的方向。

正则expression式*不*匹配任何字符

我知道这是一个相当奇怪的目标,但是对于我们的系统之一,我们需要不过滤任何input,并让腐败进入系统。 我目前的正则expression式是“ \^.* ” 问题是,它不符合计划的字符…但是对于一个匹配,它的工作。 使它不起作用的string是^ @ jj(基本上任何有^的东西)。 现在不匹配任何字符的最好方法是什么? 我正在考虑删除“ \但只有这样才能将“不”变成“开始”。

浮点数的正则expression式

我有一个任务来匹配浮点数。 我写了下面的正则expression式: [-+]?[0-9]*\.?[0-9]* 但它显示一个错误说: Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ ) 但根据我的知识,我们需要使用转义字符. 也。 请纠正我错在哪里。

grep:组捕获

我有以下string: {"_id":"scheme_version","_rev":"4-cad1842a7646b4497066e09c3788e724","scheme_version":1234} 我需要得到“scheme version”的值,在这个例子中是1234。 我努力了 grep -Eo "\"scheme_version\":(\w*)" 然而它返回 "scheme_version":1234 我怎样才能做到这一点? 我知道我可以添加sed调用,但我更喜欢用单个grep来完成。

正则expression式换句话

我正在使用Notepad ++在5453行的语言文件中进行文本replace。 文件行的格式是: variable.name = Variable Value Over Here, that''s for sure, Really 双撇号是故意的。 除了“Here”和“Really”这两个字是合适的,并且应该保持大写字母之外,我需要把这个值转换成判例。 正如你所看到的,价值范围内的情况通常是混合在一起的。 我已经为此工作了一段时间。 我到目前为止所有的是: (. )([AZ])(.+) 这似乎至lessselect了适当的string。 更换的一块是我奋斗的地方。

elisp正则expression式searchstring,而不是缓冲区

在emacs lisp文档中,我一直在寻找正则expression式如何searchstring。 我find的是如何在缓冲区中做到这一点。 有什么我失踪? 我应该把我的string吐在一个临时缓冲区中并在那里search它? 这只是elisp的编码风格,我会习惯吗? 有没有一个标准的解决这个问题。 当我只能直接search已经存在的variables时,操纵缓冲区看起来很有用。

为什么.NET中的多行正则expression式不匹配CRLF?

我注意到了以下几点: var b1 = Regex.IsMatch("Line1\nLine2", "Line1$", RegexOptions.Multiline); // true var b2 = Regex.IsMatch("Line1\r\nLine2", "Line1$", RegexOptions.Multiline); // false 我很困惑。 RegexOptions的文档说: 多线 :多线模式。 改变^和$的含义,使它们分别匹配任何行的开始和结束,而不仅仅是整个string的开始和结束。 由于C#和VB.NET主要用于Windows世界,所以我猜想.NET应用程序处理的大多数文件使用CRLF换行符( \r\n )而不是LF换行符( \n )。 尽pipe如此,.NET正则expression式parsing器似乎无法将CRLF 换行识别为行尾 。 我知道我可以解决这个问题,例如,通过匹配Line1\r?$ ,但它仍然令我感到奇怪。 这是真正的.NET正则expression式parsing器的预期行为还是我错过了一些隐藏的UseWindowsLinebreaks选项?

我可以在Vim中打开扩展的正则expression式支持吗?

扩展正则expression式的字符是非常宝贵的; 有没有办法打开它们,以便我不必在Vim正则expression式中将它们转义出来,就像我可以传递给grep(1)的-E标志一样?