Php Regex-从字符串末尾进行搜索
如何从字符串的末尾将某个对象作为目标:Php Regex-从字符串末尾进行搜索,php,regex,Php,Regex,如何从字符串的末尾将某个对象作为目标: complexthing--50 other-\u50 更多--50 我想以(50)结尾,但这个“复合词-”可以以-,所以在这种情况下,我不能在-,从乞讨中打断-,这可能会让人困惑,所以对我来说最简单的正则表达式就是让它在结尾得到什么,然后在-,打断 在每50个数字和字符串之间总是有一个-来分隔数字和字符串,我想以数字(50)为目标。您可以使用OR运算符,,让它决定是这个还是那个。如果我理解正确,类似的方法可能会起作用: -(\d+)$ 匹配连字符(-
complexthing--50
other-\u50
更多--50
我想以(50)结尾,但这个“复合词-”可以以-,所以在这种情况下,我不能在-,从乞讨中打断-,这可能会让人困惑,所以对我来说最简单的正则表达式就是让它在结尾得到什么,然后在-,打断
在每50个数字和字符串之间总是有一个-来分隔数字和字符串,我想以数字(50)为目标。您可以使用OR运算符,
,让它决定是这个还是那个。如果我理解正确,类似的方法可能会起作用:
-(\d+)$
匹配连字符(-)并在字符串($)结尾前紧跟一个或多个数字(\d+)。只捕获数字(…)。想想你想要什么:
- 始终位于字符串末尾的数字
- 紧跟在
字符后面的数字-
- 跟在
字符后面的东西,它本身不是-
字符-
X++
vsX\++
vsXX*
),并且并非所有风格都支持所有方法
“始终位于字符串末尾的数字”:
正则表达式模式是,也就是说:它们尽可能地匹配。因此,在第一种情况下,要求在字符串末尾至少输入一个数字(“在字符串末尾”指定为$
),最终将得到字符串末尾的完整数字
“紧跟在-
字符后面的数字:”
在这里,我们不指定“字符串的结尾”,而是指定它应该跟在-
字符后面。因为[0-9]
与-
字符本身不匹配,所以我们不需要做任何其他事情来避免捕获-
“跟在一个字符后面的东西,它本身不是一个字符”:
这个有点棘手:我们不需要指定一个数字,只需要指定一个负匹配([^X]
)来指定我们不需要破折号。有时,在字符类中匹配-
字符可能会很棘手,但规则是“始终在开头指定-
”,您应该很好。您不是指“| |”(而不是“|”)吗?
-(\d+)$
([0-9][0-9]*)$
([0-9]+)$
(\d+)$
-([0-9][0-9]*)
-([0-9]+)
-(\d+)
-([^-][^-]*)
-([^-]+)