可选问号 - 正则表达式

时间:2017-06-13 09:05:55

标签: regex preg-replace

我在创建正确的正则表达式时遇到问题。 这是我到目前为止: https://regex101.com/r/d0epRo/2

我需要在此链接中添加一个参数,我必须确定是否存在问号。因此<div class="tab-content"> <div class="tab-pane active" id="signin"> <!-- other code --> </div> <div class="tab-pane" id="signup" (click)="getChild()"> <register *ngIf="condition"></register> --//register component </div> </div> @Component({ selector: 'register', templateUrl: '../templates/register.html' }) export class ParentComponent { condition: boolean = false; getChild(){ this.condition = !this.condition; } } 应该是可选的,但我无法让它发挥作用。

那些无法工作的人? (\?|) (\?)?

应将这些标记为(\??)http://www.polskieszlaki.pl,但不是

我没有强烈的想法。请帮助。

2 个答案:

答案 0 :(得分:0)

我认为你想要的是这个正则表达式:

a[\s]+href="[^mailto][\S]+polskieszlaki\.pl(?:(.*))?(?:(\?)(.*))?\"

这(?:...)表示“不捕捉”

答案 1 :(得分:-1)

如果您只是尝试检索查询参数,请尝试:

a[\s]+href="[^mailto][\S]+polskieszlaki\.pl(.*)(?:\?(?<param>.*))\"

然后,您可以提取param

或者在没有命名+忽略的捕获组的更简单的形式中:

a[\s]+href="[^mailto][\S]+polskieszlaki\.pl(.*)(\?(.*))\"