正则表达式使用Twig检查URL中的数字

时间:2015-11-05 16:36:33

标签: php regex symfony twig

如果我更多地了解Twig,这不会是一个大问题。 这是我的代码,我正在尝试检查网址中是否包含数字。

{% set x = req.path %}
{% set matches = x|regex_match('~[\d\.]+$~') %}

{% set matches = x|regex_match('~[0-9]*$+~') %}

这些都不起作用

提前致谢

2 个答案:

答案 0 :(得分:2)

请参阅Twig reference

  

对于复杂的字符串比较,matches运算符允许您使用正则表达式:

     

{% if phone matches '/^[\\d\\.]+$/' %}
  {% endif %}

因此,要检查字符串是否包含带正则表达式的数字,只需使用

{% if x matches '/\\d/' %}
    Do Stuff
{% endif %}

答案 1 :(得分:-1)

为什么要使用Twig?使用路由功能应该更可靠吗?

my_route_to_check:
pattern:  /my/route/{id}
defaults: { _controller: acmeMybundle:myController:myAction, id:0}
requirements:
     id : \d+

此处{id}必须是整数(使用\ d +规则),否则将触发异常。

更容易,不是吗?