Tag: regex

正则表达式 – 用制表符替换多个空格

我正在使用下面的代码示例,我想要做的是用1 \ t替换所有多个空格。 所以 “I am having fun working on Regex” 回报 “I am\thaving fun\tworking\ton\tRegex” 当前代码: RegexOptions options = RegexOptions.None; Regex regex = new Regex(@”[ ]{2,}”, options); tempo = regex.Replace(tempo, @” “); 谢谢!

C#RegEx匹配模式完全正确

我想要完全匹配一个字符串,例如我有两个我希望彼此独立匹配的表达式。 表达方式是 /SignUpFor /SignUpFor/ThankYou 字符串“/ SignUpFor”返回第一个正确表达式的匹配项; 字符串“/ SignUpFor / ThankYou”返回两者的匹配。 如何才能将“SignUpFor / ThankYou”与表达式/SignUpFor/ThankYou 。 我不只是使用“==”的原因是我有其他表达式,如/TheLovelyBlog/Entry/([0-9]+) 这些表达式存储在数据库中。

正则表达式搜索单个0并添加逗号

我有以下所有数字数据: 4245 4 0 0242 4424.09 0 422404 5955 0 2234234.234 224 0 2423 234 0 我需要单独处理每一行。 我需要删除所有单个0并使用逗号输出如下: 4245,4, 0242,4424.09, 422404,5955 2234234.234,224 2423,234 我得到了删除单个数字工作的部分: var result = Regex.Replace(inData, @”\b\s0\b”, string.Empty); 但无法弄清楚如何在每个数字之间添加逗号。 任何帮助,将不胜感激。 谢谢。

从字符串C#中查找日期时间

说我有一个看起来像D1011608201313的字符串 第一部分是随机字母,中间部分是格式化为dd / mm / yyyy的日期,而梯形图是记录的id。 然而,第一部分可能是非常随机的 与[Random String] [DateTime] [ID]一样,我如何找到日期时间的位置。 随机字符串的长度约为4到8个字符。 如果我能找到日期时间,那应该是非常直接的:)

如何在LINQ中执行String.Replace?

这是我想要做的但没有成功。 我想from x in list1调用并join y in list2 where regex.Match(x.Value).Success 。 在这些步骤之后,我需要在x.Value上调用String.Replace两次。 然后调用on和select运算符。 我希望它看起来像第二个例子。 如何实现这一目标? 这是我的列表的样子: list1 list2 Name Value Name Value item.1 $(prod1) prod1 prodVal1 item.2 $(prod2) prod2 prodVal2 item.3 prod3 prod3 prodVal3 这是我的列表应该是这样的: updatedList Name Value item.1 prodVal1 item.2 prodVal2 item.3 prod3 示例1(这是我目前拥有的): foreach (var x in list1) { Match match = reg.Match(x.Value); […]

使用正则表达式在字符串中查找确切的字符

我有下面的字符串 M10 end start M11 M1 M1 start M n1 end M1 我想要实现的是使用正则表达式获得仅具有“ M1 ”的结果。 这是我目前的代码 Regex r = new Regex(“^M1$|M1$”); 输出如下所示,缺少字符串“M1 start” M1 end M1

从任意纯文本中提取特定标记

我想解析纯文本注释并查找其中的某些标记。 我正在寻找的标签类型如下: 其中“name”是[az]字符串(来自固定列表),“1234”表示[0-9] +数字。 这些标记可以在字符串中出现零次或多次,并被任意其他文本包围。 例如,以下字符串都是有效的: “Hello world!” “!” “1 < 2” “++ and also.\n\nBy the way, maybe ” 以下字符串均无效: “1 < 2" "” “” “Hello ” 最后一个无效,因为“notinfixedlist”不是受支持的命名标识符。 我可以使用简单的正则表达式轻松解析它,例如(为简单起见,我省略了命名组): 或直接指定固定列表: 但是我想使用antlr有几个原因: 我想要任何与该格式不匹配的结果导致解析错误,因此如果文本包含“”但与模式不匹配,则失败。 必须将这些字符转义为“&lt;” 和“&gt;” 分别如果它不是标签。 我可能会在将来扩展它以支持其他类型的模式(例如:“{foo + 666}”或“[[@ 1234]]”并且希望避免爆发正则表达式语句。拥有单个语法文件我可以延伸会很棒。 我喜欢这样的事实:antlr4实现了访问者模式,当遇到特定类型的标记时我的代码被调用,而不是必须破解不同的正则表达式。 如何使用antlr4实现这样的语法? 我见过的大多数例子都是针对整个文本的精确规则的语言,而我只希望语法适用于任意文本中的匹配模式。 我想出了这个,我认为是正确的: grammar Tags; parse : ( tag | text )* ; tag : […]

正则表达式包括拉丁字符

我有一个正则表达式,以确保密码具有大写和小写字符,并限制为几个符号: ^(?:(?=[^az]*[az])(?=[^AZ]*[AZ])(?=.*[$@$!%*?&,;.:-_])[A-Za-z\d$@$!%*?&,;.:-_]+)?$ 注意:它允许空密码。 我正在检查另一种方式。 但是它不允许使用拉丁字符,如ç,á,õ等。 如何添加此类字符? UPDATE 我正在尝试创建一个与Microsoft选项同步的密码validation正则表达式,例如: RequireDigit (Default = true) Requires a number between 0-9 in the password. RequireNonAlphanumeric (Default = true) Requires a non-alphanumeric character in the password. RequireUppercase (Default = true) Requires an upper case character in the password. RequireLowercase (Default = true) Requires a lower case character in the password. […]

C#Regex匹配包含新行的标签之间的任何文本

这是我的正则表达式: \[\[START\]\]\[\[OK\]\](.*?)\[\[END\]\] 我想获得[[START]][[OK]]和[[END]]包含的任何文字。 但是,当我的文本包含一些\r\n字符时,我的正则表达式与它不匹配。 它怎么能使它工作?

逃脱关闭支撑

System.Text.RegularExpressions.Regex.Escape()仅转义打开大括号。 是否有一个.NET Framework方法逃避关闭括号在正则表达式中的使用? 我似乎找不到任何东西。 我讨厌对这些角色进行硬编码。 编辑 :我需要生成“(?)”标签来平衡组定义。 我收到一个代表结束分隔符的字符列表,将它们转义,然后将它们添加到“(?)”标签中的表达式中。 所以,是的,我真的不得不逃避关闭括号。