假设我有以下的正则expression式: -(\d+)- 我想使用C#将组1 (\d+)replace为AA ,以获得: -AA- 现在我正在使用它来replace它: var text = "example-123-example"; var pattern = @"-(\d+)-"; var replaced = Regex.Replace(text, pattern, "-AA-"); 但我不太喜欢这个,因为如果我改变模式来匹配_(\d+)_ ,我将不得不通过_AA_改变replacestring,这是违背DRY原则的。 我正在寻找像这样的东西: 保持匹配的文本到底是怎样的,但是通过this text改变组1,通过another text改变组2。 编辑: 那只是一个例子。 我只是寻找一个通用的方式来做我上面说的。 它应该适用于: anything(\d+)more_text和任何可以想象的模式。 我想要做的只是replace组,并保持比赛的其余部分。
我想通过一堆目录,并重命名以_test.rb结尾的所有文件,而不是以_spec.rb结尾。 这是我从来没有想过如何处理bash,所以这次我想我会付出一些努力来钉牢。 尽pipe我到目前为止已经尽力了,但我的最大努力是: find spec -name "*_test.rb" -exec echo mv {} `echo {} | sed s/test/spec/` \; 注意:在exec之后还有一个额外的回声,这样当我testing它时,命令就会被打印出来而不是运行。 当我运行它时,每个匹配的文件名的输出是: mv original original 即sed的replace已经丢失。 有什么窍门?
我正在写一个jQuery插件,将做一个浏览器式的页面查找search。 我需要改进search,但不想进入parsingHTML。 目前我的方法是采取一个完整的DOM元素和所有嵌套的元素,并简单地运行正则expression式查找/replace给定的期限。 在replace中,我将简单地在匹配的术语周围包围一个跨度,并使用该跨度作为我的锚点来进行突出显示,滚动等。 重要的是,任何html标记内的字符都不匹配。 这与我所得到的一样接近: (?<=^|>)([^><].*?)(?=<|$) 它捕获所有不在 html标签中的字符的function非常好,但是我很难找出如何插入我的search字词。 Input: Any html element (this could be quite large, eg <body>) Search Term: 1 or more characters Replace Txt: <span class='highlight'>$1</span> UPDATE 下面的正则expression式,当我用http://gskinner.com/RegExr/testing时,我想要什么… Regex: (?<=^|>)(.*?)(SEARCH_STRING)(?=.*?<|$) Replacement: $1<span class='highlight'>$2</span> 但是,我有一些麻烦在我的JavaScript使用它。 使用下面的代码,chrome给了我错误“无效的正则expression式:/(?<= ^ |>)(。 ?)(Mary)(?=。 ?<| $)/:无效的组”。 var origText = $('#'+opt.targetElements).data('origText'); var regx = new RegExp("(?<=^|>)(.*?)(" + $this.val() […]
我是Python新手。 我希望能够打开一个文件,并通过Pythonreplace给定replace的某些单词的每个实例。 举个例子,用'0'replace'零',用'bob'代替'temp',用'nothing'来代替'garbage'。 我刚开始使用这个: for line in fileinput.input(fin): fout.write(line.replace('zero', '0')) fout.write(line.replace('temp','bob')) fout.write(line.replace('garbage','nothing')) 但我不认为这是一个甚至是远程正确的方式来做到这一点。 然后,我想了解if语句来检查这行代码是否包含这些内容,如果是这样,那么replace这行代码中的哪一行,但是从我所了解的Python来看,这也不是一个真正理想的解决scheme。 我很想知道什么是最好的方法来做到这一点。 谢谢提前!
有很多关于取代NA值的post。 我知道可以用下面的表格/框架来replace新来港定居人士: x[is.na(x)]<-0 但是,如果我想限制它只有某些列呢? 让我给你看一个例子。 首先,我们从一个数据集开始。 set.seed(1234) x <- data.frame(a=sample(c(1,2,NA), 10, replace=T), b=sample(c(1,2,NA), 10, replace=T), c=sample(c(1:5,NA), 10, replace=T)) 这使: abc 1 1 NA 2 2 2 2 2 3 2 1 1 4 2 NA 1 5 NA 1 2 6 2 NA 5 7 1 1 4 8 1 1 NA 9 2 1 […]
我需要一些关于声明正则expression式的帮助。 我的input如下所示: this is a paragraph with<[1> in between</[1> and then there are cases … where the<[99> number ranges from 1-100</[99>. and there are many other lines in the txt files with<[3> such tags </[3> 所需的输出是: this is a paragraph with in between and then there are cases … where the number ranges from 1-100. […]
在bash中进行命令replace的首选方法是什么? 我一直这样做: echo "Hello, `whoami`." 但是最近我经常看到这样写: echo "Hello, $(whoami)." 什么是首选语法,为什么? 或者它们几乎可以互换? 我倾向于赞成第一个,只是因为我的文本编辑器似乎知道它是什么,并适当地进行语法高亮显示。 我在这里读到,逃跑的angular色在每种情况下都会有所不同,但是我不清楚哪种行为更可取,或者仅仅取决于情况。 侧面的问题:在一个脚本中使用这两种forms是不好的做法,例如在嵌套命令replace时?
我想净化一个string到一个URL,所以这是我基本上需要的。 除了字母数字字符和空格以外,所有内容都必须删除。 空间应该被转换成破折号。 例如。 This, is the URL! 必须返回 this-is-the-url
我想要replace最后一个string,是) 假设string是: 插入双(名称,date, 被转换为: 插入双(名称,date)
使用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式?