簡體   English   中英

url匹配的正則表達式

[英]Regular expression for url matching

我有一個文本字段的值http://localhost/Send/test.php?s/?a=1&o=2 另外三個文本框。 如果我們輸入三個值,上面的 url 將更改為http://localhost/Send/test.php?s/?a=1&o=2&s1=a&s2=b&s3=c s1,s2s3的值不會保存在任何地方。 我的問題是我們如何檢查s1的值是否已經設置? 如果我更改了s1的文本框值,我如何更新s1的值替代文字

您可以使用此正則表達式替換

url.replace(/&s1=([^$]+|[^&]+)/i, "&s1=newvalue");

我來賓您在 PHP 中使用 PCRE:

(?=(?P<ES1>.*&s1=)?)(?(ES1)RegexToMatchIfS1AlreadyExist|RegexToMatchIfS1NotExist)

所以

$result = preg_replace('/^(?=(?P<ES1>.*&s1=)?)(?(ES1)(?P<Left>.*&s1=)(?P<Right>.*+)$|RegexToMatchIfS1NotExist)/', '${1}newvalue${2}', ...);

對每種語言使用這個安全的正則表達式......

^(https?|ftp)\:\/\/([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*(\:[0-9]{2,5})?(\/([a-z0-9+\$_-]\.?)+)*\/?(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?(#[a-z_.-][a-z0-9+\$_.-]*)?\$

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM