Tag: regex

正则表达式陷阱img标签,两个版本

我需要从文本中删除图像标记,因此标记的两个版本:

如何从路径中获取文件名?

我还需要一些正则表达式专家。 🙂 我有不同的路径,不同的文件夹,不同数量的文件夹。 我的问题:我如何得到最后一件事 – 文件名? 例如在路径中: C:\ A \ B \ C \ d。\ E \ fgh.ddj 如何使用正则表达式获取“fgh.ddj”?

c#regex? 文件中的文本字符串并排序为可搜索的数组?

我有一个文件中的以下文字: {“players”:[{“i”:11,”p”:0,”a”:3186,”n”:”IanHx”,”f”:1,”ps”:0,”pd”:0,”bc”:0},{“i”:12,”p”:0,”a”:115,”n”:”LoZtamnik”,”f”:1,”ps”:0,”pd”:0,”bc”:0},{“i”:58,”p”:0,”a”:156,”n”:”Mr701″,”f”:2,”ps”:0,”pd”:0,”bc”:0},{“i”:59,”p”:0,”a”:156,”n”:”B0NE4″,”f”:2,”ps”:0,”pd”:0,”bc”:0},{“i”:64,”p”:0,”a”:324,”n”:”5teveJ”,”f”:1,”ps”:0,”pd”:0,”bc”:0}],[……. 我要做的是解析文本,最后得到一个数组,用于{…}之间的每一位数据 所以最终结果如下: i=11 p=0 a=3186 n=IanHx f=1 ps=0 pd=0 bc=0 然后我可以将它们存储在数据库中 到目前为止,我有这样的事情: string contents = System.IO.File.ReadAllText(“local text file”); //load string contents with text file Regex regex1 = new Regex(“\”players\”:\\[(?.*)\\]”); //find the players section “players”:[…….] Match match1 = regex1.Match(contents); //load match1 Regex regex2 = new Regex(“{(?([^}]*))}”); // then break down each player {….} MatchCollection […]

.Net正则表达式匹配$与字符串的结尾而不是行,即使启用了多行也是如此

我正在尝试突出显示markdown代码,但我遇到了.NET regex multiline选项的这种奇怪的行为。 以下表达式: ^(#+).+$适用于任何在线正则表达式测试工具: 但它拒绝使用.net: 它似乎没有考虑$标签,只是突出显示所有内容,直到字符串结束,无论如何。 这是我的C# RegExpression = new Regex(@”^(#+).+$”, RegexOptions.Multiline) 我错过了什么?

如何在C#中根据RegEx查找文件

我需要获取某些驱动器上具有匹配特定模式的路径的文件列表,例如FA \ d \ d \ d \ d.xml其中\ d是数字(0,1,2..9)。 所以文件可以有像FA5423.xml这样的名称。 这样做最有效的名字是什么?

正则表达式将单词与+(加号)符号匹配

我花了一些时间,但还是要解决。 我需要能够在字符串中匹配带有符号的单词(如c ++)的正则表达式。 我使用了/\bword\b/ ,对于“通常”的单词,它工作正常。 但是一旦我尝试/\bC\+\+\b/它只是不起作用。 它有些与加号的错误有关。 我需要一个正则表达式来检测输入字符串是否包含c ++单词。 输入像, “c++ developer” “using c++ language” 等等 PS。 使用C#,。Net Regex.Match函数。 感谢帮助!

在引号之间获取值

如何使用RegEx获取引号之间的值 例如,我想从function测试中找到所有参数 test(“bla”); print(“foo”); test(“moo”); 结果必须是{“bla”,“moo”}

C#Regex Escape序列

在某处有完整的正则表达式转义序列表吗? 我找到了这个 ,但是对于初学者来说它缺少\\和\e 。 到目前为止,我已经提出了这个正则表达式模式,希望匹配所有的转义序列: @”\\([bBdDfnreasStvwWnAZG\\]|x[A-Z0-9]{2}|u[A-Z0-9]{4}|\d{1,3}|k)”

包含在,C#中的字符串的正则表达式

我试图通过使用以下正则表达式将所有字符串包含在中: Regex regex = new Regex(@”\<(?\S+)\>”, RegexOptions.IgnoreCase); string name = e.Match.Groups[“name”].Value; 但在某些情况下,我有这样的文字: 它返回两个字符串而不是四个字符串,即高于Regex输出 //as one string and //as second string 我在哪里期待四个字符串: 你能否指导我对我的正则表达式做出哪些改变? 我尝试添加’\ b’来指定单词边界 new Regex(@”\b\<(?\S+)\>\b”, RegexOptions.IgnoreCase); ,但这没有帮助。

处理包含美元字符的正则表达式转义替换文本

string input = “Hello World!”; string pattern = “(World|Universe)”; string replacement = “$1″; string result = Regex.Replace(input, pattern, replacement); 有了以下示例,结果将是”Hello World!” ,因为$1被第一组(World|Universe)取代,但我想要的结果是”Hello $1!” Regex.Escape方法用于转义正则表达式模式,而不是替换,因为它可以转义其他字符,如斜杠和其他正则表达式模式字符。 对我的问题的明显解决方法是让我的替换等于”$$1″ ,并将达到”Hello $1!” ,但我想知道美元符号是否是我必须逃脱的唯一值(假设replacement是用户生成的,我不提前知道),或者是否有帮助函数已经执行此操作。 有没有人知道一个函数来逃避Regex.Replace(string input, string pattern, string replacement)使用的替换值?