正则表达式模式

时间:2014-10-29 06:51:29

标签: regex

例如:

url = "http://abc.xyz.com/name=test&account=google&search=google"

目前我正在使用正则表达式替换DNS名称 “^((?: HTTP:(:????\ / \ /)))[^ \ /] *”;

它运行正常,但它正在用其他字符串替换“http://abc.xyz.com/”,但我只想替换域名,只有ptotocal信息应该是原样

即。 abc.xyz.com,其他字符串不是http://

例如:

String re =“/^(?​​:( ?!https?:\ / / /|。/)。)+ / gm”;  String str =“http://abc.xyz.com/name=test&account=google&search=google”;

String subst = "www.xyz.com";

System.out.println(str.replace(re, subst));

实际:“http://abc.xyz.com/name=test&account=google&search=google” 预期:“http://www.google.com/name=test&account=google&search=google

o / p无法正常工作

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

^(?:(?!https?:\/\/|\/).)+

你可以试试这个。www.xyz.com。见。演示。

http://regex101.com/r/sU3fA2/49

var re = /^(?:(?!https?:\/\/|\/).)+/gm;
var str = 'abc.xyz.com/name=test&account=google&search=google"\nhttp://abc.xyz.com/name=test&account=google&search=google"\nhttps://abc.xyz.com/name=test&account=google&search=google"\ntextile.trails.com/…{crea}&secure‌​_id=[SECURE_ID]&position={heigherposition}&search_device={network}&device={device‌​}&match_type={matchtype}';
var subst = 'www.xyz.com';

var result = str.replace(re, subst);

答案 1 :(得分:0)

尝试使用:

搜索:(https?://)?\w+(.*)
并替换为:$1www$2