Tag: regex

你能用正则表达式向后看吗?

“blahblah\dummytext\_config.bat” 如果我想从这个字符串中获取_config.bat,那么最好的方法是什么? 我能想到的唯一方法就是从.bat读回它找到的第一个斜杠,但我不知道该怎么做。

Linq Regex用于全字搜索

我最近找不到合适的答案。 Linq不支持正则表达式,尝试提取方法并不能超越框架。 如何在linq中的句子列表上进行整个工作匹配。 我需要\ b的原因是因为它可能是字符串的开头或结尾,或者有逗号,短划线或其他类似的分隔符。 private bool isMatch(string searchText, string text) { return Regex.IsMatch(searchText, “\\b”+text+”\\b”, RegexOptions.IgnoreCase | RegexOptions.Compiled); } result p = itemsRep .Where(fullText=> isMatch(searchText, fullText)) .FirstOrDefault();

使用正则表达式重命名文件

我想要做的是重命名特定文件夹中的所有文件,这样如果文件名中包含任何数字,它将被删除。 比方说,如果一个文件名是someFileName.someExtension它保持不变,但如果一个文件是这样的, 03 – Rocketman Elton John它应该被重命名为Rocketman Elton John (我做了部分删除- ),另一个例子,如果文件名是15-Trey Songz – Unfortunate (Prod. by Noah 40 Shebib)它应该改名为Trey Songz Unfortunate (Prod. by Noah Shebib) (我可以删除- )。 要求用户选择这样的文件夹 private void txtFolder_MouseDown(object sender, MouseEventArgs e) { FolderBrowserDialog fd = new FolderBrowserDialog(); fd.RootFolder = Environment.SpecialFolder.Desktop; fd.ShowNewFolderButton = true; if (fd.ShowDialog() == DialogResult.OK) { txtFolder.Text = fd.SelectedPath; } […]

C#Regex.Replace():获取值

我正在解析BB代码图片标签: [IMG] http://imagesource.com [/ IMG] 我正在使用以下Replace()函数: Regex.Replace(msg, @”\[img\]([^\]]+)\[\/img\]”, @””, RegexOptions.IgnoreCase); 我需要在解析时获取URL。 我需要知道“$ 1”的价值。 可能吗? Regex类以某种方式用我需要的值替换“$ 1”字符串,因此必须有一种方法来获取它。

正则表达式不匹配Unicode

我如何使用Regex匹配Unicode字符串? 我正在从文本文件中加载几个关键字,并在另一个文件中使用Regex。 关键字都包含unicode(例如á等)。 我不确定问题出在哪里。 我必须设置一些选项吗? 码: foreach (string currWord in _keywordList) { MatchCollection mCount = Regex.Matches( nSearch.InnerHtml, “\\b” + @currWord + “\\b”, RegexOptions.IgnoreCase); if (mCount.Count > 0) { wordFound.Add(currWord); MessageBox.Show(@currWord, mCount.ToString()); } } 并将关键字读入列表: var rdComp = new StreamReader(opnDiag.FileName); string compSplit = rdComp.ReadToEnd() .Replace(“\r\n”, “\n”) .Replace(“\n\r”, “\n”); rdComp.Dispose(); string[] compList = compSplit.Split(new[] {‘\n’}); 然后我将数组更改为列表。

从alpha数字拆分数字部分

我有一个AlphaNumeric值,可能包含空格或得分不足。 我想从中拆分数字并将值递增1,并需要将数字部分连接回Alpha部分。 例如,Alpha数字可以是:1- BA 123或2. BA_123 我使用了Regex,如果字符串不包含任何空格或得分,则它可以正常工作。 以下是用于拆分和递增1的代码: string StrInputNumber=”BA123″ var numAlpha = new Regex(“(?[a-zA-Z]*)(?[0-9]*)”); var match = numAlpha.Match(StrInputNumber); var alpha = match.Groups[“Alpha”].Value; int num = int.Parse(match.Groups[“Numeric”].Value); 这仅适用于没有任何特殊字符的Alpha和数字 请指导解决此问题

异步正则表达式是否存在于C#中,它们会帮助我的情况吗?

我的应用程序使用regex并行搜索多个文件, await Task.WhenAll(filePaths.Select(FindThings)); 在FindThings内部,它花费大部分时间执行正则表达式搜索,因为这些文件的大小可能达到数百mb。 static async Task FindThings(string path) { string fileContent = null; try { using (var reader = File.OpenText(path)) fileContent = await reader.ReadToEndAsync(); } catch (Exception e) { WriteLine(lineIndex, “{0}: Error {1}”, filename, e); return; } var exitMatches = _exitExp.Matches(fileContent); foreach (Match exit in exitMatches) { if (_taskDelay > 0) await Task.Delay(_taskDelay); // […]

正则表达式在C#和Javascript中validationFQDN

在C#和Javascript中validationFQDN的正确正则表达式是什么? 我一直在寻找,我发现不同的规格。 哪一个是正确的。 我找到的几个例子: 1.(?=^.{1,254}$)(^(?:(?!\d+\.|-)[a-zA-Z0-9_\-]{1,63}(?<!-)\.?)+(?:[a-zA-Z]{2,})$) 2. (?=^.{1,254}$)(^(?:(?!\d|-)[a-zA-Z0-9\-]{1,63}(?<!-)\.?)+(?:[a-zA-Z]{2,})$) 3. \b((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[az]{2,63}\b (Regular Expression cook book) 请帮忙

C#Regex仅在字符串外部替换标签

我有一个字符串,代表xml的一部分。 string text =”word fooanother word ” 我需要替换此字符串中的特定单词。 所以我使用了这段代码: Regex regex = new Regex(“\\b” + co + “\\b”, RegexOptions.IgnoreCase); return regex.Replace(text, new MatchEvaluator(subZvyrazniStr)); static string subZvyrazniStr(Match m) { return “” + m.ToString() + “”; } 但我的代码的问题是,它还替换了我不想要的字符串内部标签。 那么我应该添加什么来替换标签之外的单词呢? 例如:当我将变量co设置为“foo”时,我想返回”word fooanother word” 谢谢

在C#中不允许检查特殊字符

我必须从不允许的特殊字符列表中validation文本框。 这都是不允许的字符。 “&”;”\”;”/”;”!”;”%”;”#”;”^”;”(“;”)”;”?”;”|”;”~”;”+”;” “; “{“;”}”;”*”;”,”;”[“;”]”;”$”;”;”;”:”;”=”;” 使用半列来区分字符。我试图为某些字符编写一个正则表达式来validation它是否有效,我会扩展它。它不起作用。 我在这做错了什么。 Regex.IsMatch(textBox1.Text, @”^[\%\/\\\&\?\,\’\;\:\!\-]+$”)