Tag: expression式

正则expression式在括号之间返回文本

u'abcde(date=\'2/xc2/xb2\',time=\'/case/test.png\')' 我所需要的是括号内的内容。

mod_rewrite:用短划线replace下划线

我在这里透露了我对REGEX-fu的尴尬无知,但是:我现在有一个网站,其中一些网页的文章URL被写为“article_name”,而较新的则被写为“文章名”。 我想把所有这些移动到破折号,所以有一个正则expression式,我可以用它来重写旧的URL到他们的新的等值? 提前感谢您!

你可以使用stringvariables实时创buildJavaScript正则expression式吗?

假设我想让以下重复使用: function replace_foo(target, replacement) { return target.replace("string_to_replace",replacement); } 我可能会这样做: function replace_foo(target, string_to_replace, replacement) { return target.replace(string_to_replace,replacement); } 使用string文字很容易。 但是如果我想用正则expression式来处理一些更棘手的事情呢? 例如,说我想replace一切, 但 string_to_replace 。 本能地,我会尝试通过做如下的事情来扩展上面的内容: function replace_foo(target, string_to_replace, replacement) { return target.replace(/^string_to_replace/,replacement); } 这似乎并不奏效。 我的猜测是,它认为string_to_replace是一个string文字,而不是一个表示string的variables。 是否有可能使用stringvariables在飞行中创buildJavaScript正则expression式? 如果可能的话,这样的事情会很棒: function replace_foo(target, string_to_replace, replacement) { var regex = "/^" + string_to_replace + "/"; return target.replace(regex,replacement); }

C#,正则expression式:如何parsing逗号分隔的值,其中一些值可能被引用的string本身包含逗号

在C#中,使用Regex类,如何parsing逗号分隔的值,其中一些值可能是引用的string本身包含逗号? using System ; using System.Text.RegularExpressions ; class Example { public static void Main ( ) { string myString = "cat,dog,\"0 = OFF, 1 = ON\",lion,tiger,'R = red, G = green, B = blue',bear" ; Console.WriteLine ( "\nmyString is …\n\t" + myString + "\n" ) ; Regex regex = new Regex ( "(?<=,(\"|\')).*?(?=(\"|\'),)|(^.*?(?=,))|((?<=,).*?(?=,))|((?<=,).*?$)" ) ; […]

序列点和部分顺序

几天前, 这里有一个关于这个expression的讨论 我= ++ i + 1 调用UB(未定义的行为)或不。 最后得出的结论是它调用UB,因为'i'的值在两个序列点之间不止一次地改变。 我参与了与Johannes Schaub的讨论。 按照他的说法 i =(i,i ++,i)+1 ——(1)/ *也调用UB * / 我说(1)不会调用UB,因为前面的子expression式的副作用是由逗号操作符','在i和i ++之间以及在i ++和i之间清除的。 然后他给出了以下解释: “是的,在i ++之前完成所有副作用之后的顺序点,但是没有任何东西阻止了分配副作用与i ++的副作用重叠。 根本的问题是分配的副作用没有被指定为在在对赋值的两个操作数进行评估之前,所以序列点在保护这一点上不能做任何事情:序列点引起一个偏序:只是因为在++之后和之后有一个序列点并不意味着所有的副作用都被序列化关于我 。 另外,请注意,仅仅一个序列点就意味着什么:评估顺序不是由代码forms决定的。 这是由语义规则决定的。 在这种情况下,没有语义规则说明何时分配副作用发生在评估这些操作数的操作数或子expression式方面。 以“大胆”写的陈述让我感到困惑。 我所知道的: “在执行顺序中的某些特定点称为顺序点,以前评估的所有副作用应该是完整的,并且不会发生后续评估的副作用。 因为,逗号运算符也指定了执行顺序,当我们到达最后的i时,i ++的副作用已经被取消了。如果没有指定评估顺序,那么他(Johannes)会是正确的(但是在逗号运算符的情况下, )。 所以我只想知道(1)是否调用UB? 有人能给出另一个有效的解释吗 谢谢!

Java上的正则expression式格式validation

我只是想知道是否有一种方法(也许与正则expression式)来validation在Java桌面应用程序上的input是一个string格式为“YYYY-MM-DD”。 我已经search,但没有成功。 谢谢

如何在JavaScript中将长正则expression式分成多行?

我有一个非常长的正则expression式,我希望在我的JavaScript代码中分成多行,按照JSLint规则保持每行长度为80个字符。 我想,阅读才更好。 这是模式示例: var pattern = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

正则expression式 – 连字符应该逃脱吗?

可能重复: 如何用正则expression式匹配连字符? 连字符是正则expression式中的一个特殊字符,例如,select一个范围,我可以这样做: [0-9A-F] 但是在方括号之外,它只是一个普通的字符吗? 我已经在一些在线正则expression式testing器上testing过了,连字符看起来像是方括号之外的常规字符(如果它不在两个字符之间,甚至在方括号内,例如[-g]似乎匹配 – 或者g)是否逃跑。 我找不到这个答案,但我想知道是否是传统的逃脱连字符。 谢谢!

使用正则expression式(PCRE)匹配^ nb ^ nc ^ n(例如“aaabbbccc”)

现代正则expression式的实现(最值得注意的是PCRE)与正规语法的原始概念几乎没有什么共同之处,这是众所周知的事实。 例如,你可以parsing上下文无关语法的经典例子{a n b n ; n> 0}(例如aaabbb )使用这个正则expression式( 演示 ): ~^(a(?1)?b)$~ 我的问题是:你能走多远? 是否也可以使用PCRE分析上下文敏感的语法 {a n b n c n ; n> 0}(例如aaabbbccc )?

用stringreplace第一个出现的模式

可能重复: 如何在.NET中replacestring的第一个实例 ? 比方说,我有string: string s = "Hello world."; 我怎样才能取代第一个在Hello我们说Foo这个词? 换句话说,我想最终: "HellFoo world." 我知道如何取代所有的o,但我想只取代第一个