使用正则表达式定位子页面

时间:2018-11-01 12:54:22

标签: regex

我需要一个正则表达式,以某个父页面组中的所有子页面为目标,而不是父页面将它们作为自己。

更具体地说,我需要一个针对以下对象的表达式:

  

/ categoryA / XXX

     

/ categoryB / YYY

     

/ categoryC / ZZZ

但是我不想包括

  

/ categoryA /

     

/ categoryB /

     

/ categoryC /

非常感谢所有帮助!

古斯塔夫

3 个答案:

答案 0 :(得分:0)

这一个

([^\/]+$)

定位最后一个斜杠之后的所有内容

example on regex101

如果我正确理解了问题,则可以在if()语句中使用它来过滤所需的内容。

答案 1 :(得分:0)

尝试这个:

\/(\w+)\/([a-zA-Z]+)

我假设类别之后的字符串仅使用字母。

输入:

  

/ categoryA / XXX

     

/ categoryB / YYY

     

/ categoryC / ZZZ

     

/ categoryA /

     

/ categoryB /

     

/ categoryC /

比赛:

  

/ categoryA / XXX

     

/ categoryB / YYY

     

/ categoryC / ZZZ

答案 2 :(得分:-1)

或者这个:

\/category[A-Z]\/(.*)

在C#中

childpage = Regex.Match(target, "/category[A-Z]/(.*)").Groups[1].Value;

在JavaScript中

var myregexp = /\/category[A-Z]\/(.*)/;
var match = myregexp.exec(target);
if (match != null) {
    childpage = match[1];
} else {
    childpage = "";
}

在PHP中

if (preg_match('%/category[A-Z]/(.*)%', $target, $groups)) {
    $childpage = $groups[1];
} else {
    $childpage = "";
}

在PowerShell中

if ($target -match '/category[A-Z]/(.*)') {
    $childpage = $matches[1]
} else {
    $childpage = ''
}

在Python中

match = re.search("/category[A-Z]/(.*)", target)
if match:
    childpage = match.group(1)
else:
    childpage = ""