Tag: 正则表达式

如何完全忽略RegEx中的换行符和制表符?

在RegEx中有没有办法完全忽略换行符和制表符等? 例如,可以在内容字符串中的任何位置以任何顺序找到换行符和制表符。 … [CustomToken \t \r\n Type=”User” \t \r\n Property=”FirstName” \n /] … [CT … 这是我目前使用的RegularExpression: (\[CustomToken).*?(\/\]) .NET API Regex.Matches(string input, string pattern) 谢谢你的建议。

URL的正则表达式,包括查询字符串

我认为这将是一个简单的谷歌搜索,但显然不是。 我可以在C#中使用什么样的正则表达式来解析包含来自较大文本的任何查询字符串的URL? 我花了很多时间,发现了很多不包含查询字符串的例子。 我不能使用System.URI,因为这假设你已经有了URL …我需要在周围的文本中找到它。

正则表达式花了很长时间

我有一个用户输入的搜索字符串。 通常,使用空格分割搜索字符串,然后执行OR搜索(如果项匹配任何搜索字符串元素,则匹配项)。 我想提供一些“高级”查询function,例如使用引号括起包含空格的文字短语的function。 虽然我已经敲定了一个像样的正则表达式来为我分割字符串,但它执行的时间非常长(在我的机器上> 2秒)。 我把它弄清楚了解打嗝的位置,更有趣的是它似乎在最后一场Match匹配后发生(可能是在输入结束时)。 直到字符串结尾的所有匹配在更短的时间内匹配然后我可以捕获,但是最后一个匹配(如果它是什么 – 没有返回)几乎占用了所有的2秒。 我希望有人可能会对我如何加速这个正则表达式有所了解。 我知道我正在使用一个无限量词的lookbehind但是,正如我所说,这似乎不会导致任何性能问题,直到最后一场比赛匹配。 码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace RegexSandboxCSharp { class Program { static void Main( string[] args ) { string l_input1 = “# one \”two three\” four five:\”six seven\” eight \”nine ten\””; string l_pattern = @”(?<=^([^""]*([""][^""]*[""])?)*)\s+"; Regex l_regex = […]

可以使用Regex进行这种特殊的字符串操作吗?

我需要在字符串中用字符(比如说) P替换字符(比如说) x ,但前提是它包含在带引号的子字符串中。 一个例子使它更清楚: axbx’cxdxe’fxgh’ixj’k -> axbx’cPdPe’fxgh’iPj’k 为简单起见,我们假设引号总是成对出现。 显而易见的方法是一次只处理一个字符串(一个简单的状态机方法); 但是,我想知道是否可以使用正则表达式一次完成所有处理。 我的目标语言是C#,但我想我的问题与任何有正则表达式内置或库支持的语言有关。

用于c#中的变量声明和初始化的正则表达式

我想编写一个RegEx来从变量声明语句中提取所有变量值及其名称。 说我有 int i,k = 10,l = 0 我想写一个正则表达式像int \ s ^,?|(^,?)*但这也接受k = 10 ie(没有int在它之前)基本上想法是如果字符串以int开头然后获取变量列表分离通过, 我知道要提取csv值,但这里我的字符串也有一些初始值。 我该如何解决?

用于字母和空格的.NET RegEx

我试图在C#中创建一个只允许使用字母数字字符和空格的正则表达式。 目前,我正在尝试以下方面: string pattern = @”^\w+$”; Regex regex = new Regex(pattern); if (regex.IsMatch(value) == false) { // Display error } 我究竟做错了什么?

使用RegEx在大括号之间提取字符串,即{{content}}

我得到一个字符串,其格式为{{some_text}}。 我想使用C#将其提取到一个集合中,并相信RegEx是最好的方法。 RegEx有点过头,但在这种情况下似乎足够强大。 这是我的例子: {{element=’h1′}} {{element=’price’}} 我想最终得到这样的东西: collection [0] =“element =’title’”; collection [1] =“url”; collection [2] =“element =’photo’property =’src’maxwidth =’135’”; collection [3] =“element =’h1’”; collection [4] =“element =’price’”; 请注意,也没有重复项,但如果难以做到,我不想让事情复杂化。 我看到这篇文章做了类似但在括号内的内容 : 如何使用Regex在c#中的文本字符串中提取方括号的内容 我的问题是我有双括号而不是一个字符。 我怎样才能做到这一点?

用于提取String的某些部分的正则表达式

嘿我试图从字符串中提取某些信息。 字符串看起来像 名称:music mix.mp3大小:2356KB 我想只用扩展名提取文件名。 我对正则表达式知之甚少,所以我希望能在这里得到一些帮助。 谢谢!

如何替换字符串中特定字符串的出现?

我有一个字符串,其中可能包含两次“title1”。 例如 server / api / shows?title1 =在费城总是阳光充足&title1 =破坏… 我需要将单词“title1”的第二个实例更改为“title2” 我已经知道如何识别字符串中是否有两个字符串实例。 int occCount = Regex.Matches(callingURL, “title1=”).Count; if (occCount > 1) { //here’s where I need to replace the second “title1” to “title2” } 我知道我们可以在这里使用Regex但是我无法在第二个实例上获得替换。 任何人都可以帮我一把吗?

如何在c#中替换两个字符之间的文本

我有点困惑写正则表达式找到两个分隔符之间的文本{}并用c#中的另一个文本替换文本,如何替换? 我试过这个。 StreamReader sr = new StreamReader(@”C:abc.txt”); string line; line = sr.ReadLine(); while (line != null) { if (line.StartsWith(“<")) { if (line.IndexOf('{') == 29) { string s = line; int start = s.IndexOf("{"); int end = s.IndexOf("}"); string result = s.Substring(start+1, end – start – 1); } } //write the lie to console window Console.Write […]