我有string: $one = 'foo bar 4 baz (5 qux quux)'; $two = 'bar baz 2 bar'; $three = 'qux bar 12 quux (3 foo)'; $four = 'foo baz 3 bar (13 quux foo)'; 我怎样才能find这些string中的数字? 也许与function: function numbers($string){ // ??? $first = ?; $second = ?; } 例如: function numbers($one){ // ??? $first = 4; $second […]
我有以下几点: <text top="52" left="20" width="383" height="15" font="0"><b>test</b></text> 我有以下几点: fileText = re.sub("<b>(.*?)</b>", "\1", fileText, flags=re.DOTALL) 其中fileText是我在上面发布的string。 当我运行正则expression式replace后,我打印出fileText ,我回来了 <text top="52" left="20" width="383" height="15" font="0"></text> 而不是预期的 <text top="52" left="20" width="383" height="15" font="0">test</text> 现在我对正则expression式很熟练,我知道它应该工作,事实上我知道它匹配正确,因为我可以在groups看到它,当我做search和打印出的groups但我是新来的python和困惑至于为什么它不正确地处理后面的引用
很明显,有很多问题看起来像一个简单的正则expression式可以解决,但是用正则expression式很难解决。 那么一个不是正则expression式专家的人怎么知道他/她是否应该学习正则expression式来解决一个给定的问题呢? (请参阅“正则expression式parsingC#源代码来查找所有string”的方式,我问这个问题。) 这似乎总结得很好: 有些人遇到问题时,会想“我知道,我会用 正则expression式”,现在有两个问题… (我刚刚更改了问题的标题,使其更具体,因为在C#中使用正则expression式的一些问题已经在Perl和JScript中解决了,例如两个引用级别使得正则expression式不可读的事实。)
我有这个: str = "some html code [img]……[/img] some html code [img]……[/img]" 我想得到这个: ["[img]……[/img]","[img]……[/img]"]
我必须用正则expression式在文本中find第一个url: 例如: I love this website:http://www.youtube.com/music it's fantastic 要么 [ es. http://www.youtube.com/music] text
为什么下面的代码会导致: 有1场比赛的''' 并不是: 有3场比赛的''' using System; using System.Text.RegularExpressions; namespace TestRegex82723223 { class Program { static void Main(string[] args) { string text = "C# is the best language there is in the world."; string search = "the"; Match match = Regex.Match(text, search); Console.WriteLine("there was {0} matches for '{1}'", match.Groups.Count, match.Value); Console.ReadLine(); } } }
我只需要返回string中方括号内的文本。 我有以下正则expression式,但是这也返回方括号: var matched = mystring.match("\\[.*]"); 一个string将只包含一组方括号,例如: Some text with [some important info] 我想匹配包含“一些重要的信息”,而不是我目前得到的“[一些重要的信息]”。
当testing另一个用户的问题的答案时,我发现了一些我不明白的东西。 问题是用一个空格replacestring中的所有字符\t \n \r字符。 现在,我尝试的第一个模式是: /(?:\\[trn])+/ 这令人惊讶的没有工作。 我在Perl中尝试了相同的模式,它工作正常。 经过一些试验和错误,我发现PHP需要3或4反斜杠模式匹配,如: /(?:\\\\[trn])+/ 要么 /(?:\\\[trn])+/ 这些模式 – 令我惊讶 – 都工作。 为什么这些额外的反斜杠是必要的?
我最近读了Java Script正则expression式,但是我感到困惑。 我的作者说在所有正则expression式声明的开头和结尾必须包含脱字符( ^ )和美元符号( $ )? 为什么这实际上需要? 它的目的是什么? 纠正我,如果错了!
例如,这些是有效的mathexpression式: a * b + c -a * (b / 1.50) (apple + (-0.5)) * (boy – 1) 这些是无效的mathexpression式: –a *+ b @ 1.5.0 // two consecutive signs, two consecutive operators, invalid operator, invalid number -a * b + 1) // unmatched parentheses a) * (b + c) / (d // unmatched parentheses 我没有匹配浮点数的问题,但有括号匹配的困难。 任何想法? […]