我有一个URL可以是以下任何格式: http://example.com https://example.com http://example.com/foo http://example.com/foo/bar www.example.com example.com foo.example.com www.foo.example.com foo.bar.example.com http://foo.bar.example.com/foo/bar example.net/foo/bar 基本上,我需要能够匹配任何正常的url。 我怎样才能通过一个正则expression式提取example.com (或.net,无论tld碰巧是什么,我需要这个来处理任何TLD)。
我正在尝试编写一个正则expression式函数,它将识别并replacestring中单个匹配的实例,而不会影响其他实例。 例如,我有这个string: 12||34||56 我想用&符replace第二组pipe道来获得这个string: 12||34&&56 正则expression式函数需要能够处理x数量的pipe道,并允许我replace第n组pipe道,所以我可以使用相同的函数来进行这些replace: 23||45||45||56||67 -> 23&&45||45||56||67 23||34||98||87 -> 23||34||98&&87 我知道我可以在pipe道上拆分/replace/连接string,并且我也知道我可以在/\|\|/上匹配,并遍历结果数组,但是我很想知道是否有可能写一个可以做到这一点的expression式。 请注意,这将用于Javascript,所以可以使用eval()在运行时生成正则expression式,但不能使用任何Perl特定的正则expression式指令。
我有一个string包含正常字符,白色字符和之间的换行符。 这个正则expression式不起作用: /<div>(.*)<\/div> 。 这是因为.*与换行符不匹配。 我的问题是,如何做到这一点?
我正在寻找用%20replaceURL中的所有空间实例。 我将如何与正则expression式? 谢谢!
如何删除最后一个字符只有当它是一个时期? $string = "something here."; $output = 'something here';
嘿,我试图在一个string上执行一个向后的正则expression式search,把它分成3个数字组。 就我从AS3 文档中可以看到,向后search在reg ex引擎中是不可能的。 这个练习的要点是把三连词的逗号插入一个数字,如下所示: 10000000 => 10,000,000 我正在考虑这样做: string.replace(/(\d{3})/g, ",$1") 但是由于search没有发生在后面,所以这是不正确的,replace$ 1将只能用于第一场比赛。 我感觉我会更好地使用循环执行此任务。 更新: 由于AS3不支持lookahead这是我已经解决了它。 public static function formatNumber(number:Number):String { var numString:String = number.toString() var result:String = '' while (numString.length > 3) { var chunk:String = numString.substr(-3) numString = numString.substr(0, numString.length – 3) result = ',' + chunk + result } if (numString.length > […]
如果我find了findall(r'regex(with)capturing.goes.here')我怎样才能访问被捕获的组? 我知道我可以通过finditer来finditer ,但我不想迭代。
如何让一个python正则expression式像“(。*)”这样,因为“a(b)c(d)e”python匹配“b”而不是“b)c(d”? 我知道我可以使用“[^)]”而不是“。”,但我正在寻找一个更一般的解决scheme,使我的正则expression式更清洁。 有什么办法可以告诉python“嘿,尽快配对”?
我从XML中接收“7+”或“5+”或“+5”,并希望仅使用正则expression式从string中提取数字。 例如Regex.Match()函数 stringThatHaveCharacters = stringThatHaveCharacters.Trim(); Match m = Regex.Match(stringThatHaveCharacters, "WHAT I USE HERE"); int number = Convert.ToInt32(m.Value); return number;
我有以下的Java正则expression式,我没有写,我试图修改: ^class-map(?:(\\s+match-all)|(\\s+match-any))?(\\s+[\\x21-\\x7e]{1,40})$ ^ ^ 这和这个很像 注意第一个问号。 这是否意味着该组是可选的? 相应的后面已经有一个问号了) 。 冒号在正则expression式中有特殊意义吗? 正则expression式编译得很好,而且已经有JUnittesting显示它是如何工作的。 这只是我有点困惑,为什么第一个问号和冒号在那里。