我想净化一个string到一个URL,所以这是我基本上需要的。 除了字母数字字符和空格以外,所有内容都必须删除。 空间应该被转换成破折号。 例如。 This, is the URL! 必须返回 this-is-the-url
示例string: $${a},{s$${d}$$}$$ 我想先匹配$${d}$$并将其replace为一些文本,以使string变为$${a},{sd}$$ ,然后$${a},{sd}$$将匹配。
可能重复: 最快的方法来replacestring中的所有字符的实例 如何replacestring中发现的所有事件? 如果要replacestring中的所有换行符(\ n) 这只会取代第一次出现的换行符 str.replace(/\\n/, '<br />'); 我不知道该怎么办?
如何构build两个正则expression式模式? 例如,我有一个较长的模式,一个较小的模式,我需要把较小的模式放在较长的模式之前。 var pattern1 = ':\(|:=\(|:-\('; var pattern2 = ':\(|:=\(|:-\(|:\(|:=\(|:-\(' str.match('/'+pattern1+'|'+pattern2+'/gi'); 这不起作用。 当我连接string时,所有的斜线都消失了。
虽然我知道我可以使用一些巨大的正则expression式,如发布在这里,我想知道是否有一些微调作为地狱的方式来做到这一点与标准模块或可能是一些第三方附加? 简单的问题,但没有跳出Google(或Stackoverflow)。 期待看到你们如何做到这一点!
TL; DR Matcher API的devise决定是什么? 背景 Matcher有一个我没有想到的行为,我找不到一个好的理由。 API文档说: 一旦创build,一个匹配器就可以用来执行三种不同的匹配操作:[…]这些方法中的每一个都会返回一个表示成功或失败的布尔值。 通过查询匹配器的状态可以获得关于成功匹配的更多信息。 API文档进一步说的是: 匹配器的显式状态最初是未定义的; 在成功匹配之前尝试查询它的任何部分将导致引发IllegalStateException。 例 String s = "foo=23,bar=42"; Pattern p = Pattern.compile("foo=(?<foo>[0-9]*),bar=(?<bar>[0-9]*)"); Matcher matcher = p.matcher(s); System.out.println(matcher.group("foo")); // (1) System.out.println(matcher.group("bar")); 这段代码抛出一个 java.lang.IllegalStateException: No match found 在(1) 。 为了解决这个问题,有必要调用matches()或其他方法,使Matcher进入允许group()的状态。 以下工作: String s = "foo=23,bar=42"; Pattern p = Pattern.compile("foo=(?<foo>[0-9]*),bar=(?<bar>[0-9]*)"); Matcher matcher = p.matcher(s); matcher.matches(); // (2) System.out.println(matcher.group("foo")); System.out.println(matcher.group("bar")); […]
我需要使用JavaScript RegExp对象从JavaScript源代码删除所有JavaScript注释。 我需要的是RegExp的模式。 到目前为止,我已经find了这个: compressed = compressed.replace(/\/\*.+?\*\/|\/\/.*(?=[\n\r])/g, ''); 这种模式适用于: /* I'm a comment */ 或为: /* * I'm a comment aswell */ 但似乎并不适用于内联: // I'm an inline comment 我不是RegEx的专家,也不是模式,所以我需要帮助。 此外,我想有一个RegEx模式女巫将删除所有这些类似HTML的评论。 <!– HTML Comment //–> or <!– HTML Comment –> 而且这些有条件的HTML评论巫婆可以在各种JavaScript源中find。 谢谢
我根本不擅长正则expression式。 迄今为止我一直在使用很多框架代码,但是我找不到能够匹配像http://www.example.com/etcetc这样的URL的http://www.example.com/etcetc但也能够像www.example.com/etcetc一样www.example.com/etcetc和example.com/etcetc 。 任何帮助将是伟大的。 多谢你们!
这可能听起来像一个愚蠢的问题,但我与我的一些开发人员长谈,听起来像是一个有趣的事情想起来。 所以; 你的想法是什么 – 一个正则expression式是什么样的,永远不会被任何string匹配! 编辑 :为什么我要这个? 那么,首先是因为我觉得有意思的是想到这样一个expression,其次是因为我需要一个脚本。 在该脚本中,我将字典定义为Dictionary<string, Regex> 。 如你所见,它包含一个string和一个expression式。 基于这个字典,我创build了一些方法,这些方法全部使用这个字典作为他们应该如何工作的参考,其中一个方法将正则expression式与parsing的日志文件进行匹配。 如果expression式匹配,则另一个Dictionary<string, long>被添加expression式返回的值。 因此,为了捕获任何不符合字典中的expression式的日志消息,我创build了一个名为“unknown”的新组。 对这个组别来说,所有与其他东西不匹配的东西都会被添加 但为了防止“未知”expression错误(偶然)一个日志消息,我不得不创build一个绝对不匹配的expression式,不pipe我给它什么string。 因此,你有我的理由这个“不是一个真正的问题”…
使用jQuery,我想删除HTML标签之间的空白和换行符。 var widgetHTML = ' <div id="widget"> <h2>Widget</h2><p>Hi.</p> </div>'; 应该: alert(widgetHTML); // <div id="widget"><h2>Widget</h2><p>Hi.</p></div> 我认为我需要的模式是: >[\s]*< 这可以完成而不使用正则expression式?