Php 正则表达式可选匹配

Php 正则表达式可选匹配,php,regex,optional,Php,Regex,Optional,我正在尝试使用PHP中的preg_match函数匹配两种类型的字符串,可能是以下内容 "神话"到"新事物" ""一事" “虚构”到“新事物”和“一些东西” 在上面的第三部分中,我只想要“神话”和“新事物”,因此第三部分之后的所有内容都只是用户可以添加的一些可选文本。理想情况下,在上述情况下,regex将退出 “神话”,“新事物” “一件事” “神话”,“新事物” 如果可能,图案应与a-zA-Z0-9匹配:-) 我的正则表达式很糟糕,所以任何帮助都将不胜感激 感谢高级版。假设您谈论的是\u

我正在尝试使用PHP中的
preg_match
函数匹配两种类型的字符串,可能是以下内容

  • "神话"到"新事物"
  • ""一事"
  • “虚构”到“新事物”和“一些东西”
在上面的第三部分中,我只想要“神话”和“新事物”,因此第三部分之后的所有内容都只是用户可以添加的一些可选文本。理想情况下,在上述情况下,regex将退出

  • “神话”,“新事物”
  • “一件事”
  • “神话”,“新事物”
如果可能,图案应与a-zA-Z0-9匹配:-)

我的正则表达式很糟糕,所以任何帮助都将不胜感激


感谢高级版。

假设您谈论的是
\u
删除的文本:

$regex = '/^_([a-zA-Z0-9]+)(|_to_([a-zA-Z0-9]+).*)$/';

$string = '_mything_to_newthing_and_some_stuff';
preg_match($regex, $string, $match);
$match = array(
    0 => '_mything_to_newthing_and_some_stuff',
    1 => 'mything',
    2 => '_to_newthing_and_some_stuff',
    3 => 'newthing',
);
至于其他方面,请提供更多细节和更好的示例文本/输出

编辑:您可以随时使用
explode

$parts = explode('_', $string);
$parts = array(
    0 => '',
    1 => 'mything',
    2 => 'to',
    3 => 'newthing',
    4 => 'and',
    5 => 'some',
    6 => 'stuff',
);

只要格式一致,它就应该工作得很好…

假设您谈论的是
\u
删除的文本:

$regex = '/^_([a-zA-Z0-9]+)(|_to_([a-zA-Z0-9]+).*)$/';

$string = '_mything_to_newthing_and_some_stuff';
preg_match($regex, $string, $match);
$match = array(
    0 => '_mything_to_newthing_and_some_stuff',
    1 => 'mything',
    2 => '_to_newthing_and_some_stuff',
    3 => 'newthing',
);
至于其他方面,请提供更多细节和更好的示例文本/输出

编辑:您可以随时使用
explode

$parts = explode('_', $string);
$parts = array(
    0 => '',
    1 => 'mything',
    2 => 'to',
    3 => 'newthing',
    4 => 'and',
    5 => 'some',
    6 => 'stuff',
);

只要格式一致,它就可以正常工作…

谢谢!你知道的。。我从来没有想过它是一个划界的文本!我不妨使用
explode()
;)谢谢你知道的。。我从来没有想过它是一个划界的文本!我不妨使用
explode()
;)