Tag: regex

C#代码生成与正则表达式匹配的字符串

我使用正则表达式来validation用户输入。 现在我可以配置正则表达式,因此它可以帮助用户查看如何格式化确定输入的示例。 是否可以生成一些匹配任意正则表达式的字符串? 是否有一个可以在某处使用的实现? 更新:由于许可证,我不能使用REX。 还有其他可能吗?

.NET Core 2.1 – 循环中的正则表达式200x比2.0慢(简单基准中为3x)

我有以下正则表达式: var regex = new Regex( @”^ActiveMQ[\d\.-]*$”, RegexOptions.Compiled | RegexOptions.IgnoreCase | RegexOptions.CultureInvariant); 它运行超过1000个字符串( IsMatch调用)。 在.NET Core 2.0中大约需要10ms 。 迁移到.NET Core 2.1后,对同一数据的处理时间超过2 seconds 。 知道发生了什么事吗? 2.1中的任何行为都有变化? ====================== 更新:BenchmarkDotNet 可netcoreapp2.0 3x下降(只需运行,在csproj文件netcoreapp2.0 csproj更改为netcoreapp2.0 ,再次运行)。 https://github.com/ptupitsyn/netcore2.1-regex-perf/tree/master/src 尽可能简化实际应用程序可以减少掉落,但仍然非常明显。 在GetPackageInfos2翻转嵌套循环GetPackageInfos2下降降低到25% ,但它仍然存在。 在真实世界的代码中改变这一点并非易事,我想避免这种重构。 在循环中执行了多个RegEx,并且我无法仅使用一个RegEx重现丢弃 更新2 删除RegexOptions.Compiled解决了这个问题!

如何从多行文本中仅取第一行

如何才能使用正则表达式获取多行文本的第一行? string test = @”just take this first line even there is some more lines here”; Match m = Regex.Match(test, “^”, RegexOptions.Multiline); if (m.Success) Console.Write(m.Groups[0].Value);

创建一个RegEx以validation用户名

我写了这段代码来validation用户名是否满足给定条件,是否有人看到我如何将2个RegEx合并为一个? 代码是c# /// /// Determines whether the username meets conditions. /// Username conditions: /// Must be 1 to 24 character in length /// Must start with letter a-zA-Z /// May contain letters, numbers or ‘.’,’-‘ or ‘_’ /// Must not end in ‘.’,’-‘,’._’ or ‘-_’ /// /// proposed username /// True if the username is […]

如何防止用户生成的Sql查询上的Sql注入

我有一个项目(私有,ASP.net网站,密码用https保护),其中一个要求是用户能够输入将直接查询数据库的Sql查询。 我需要能够允许这些查询,同时防止它们对数据库本身造成损害,以及访问或更新它们无法访问/更新的数据。 我已经提出了以下实施规则: 使用仅具有Select Table / View和Update Table权限的db用户(因此任何其他命令,如drop / alter / truncate / insert / delete都不会运行)。 validation语句以“选择”或“更新”字样开头 validation(使用正则表达式)语句中没有半冒号实例,这些实例未被单引号,空格和字母包围。 (这里的想法是,他们可以包含第二个查询的唯一方法是使用不是输入字符串一部分的分号结束第一个查询。 validation(使用Regex)用户是否有权访问正在查询/更新的表,包含在连接中等。这包括任何子查询。 (实现这一目标的部分方式是用户将使用一组实际上不存在于数据库中的表名,部分查询解析将用正确的相应表名替换为查询) 。 我错过了什么吗? 目标是用户能够以他们认为合适的任何方式查询/更新他们有权访问的表,并防止任何意外或恶意企图破坏数据库。 (并且由于要求是用户生成sql,我无法使用我所知道的任何内置工具对查询进行参数化或清理它)。

一种使用RegEx在字符串中查找一组文件名路径的方法

早上好家伙 有没有一种在C#中使用正则表达式的好方法,以便在string变量中查找所有文件名及其路径? 例如,如果您有此字符串: string s = @”Hello John these are the files you have to send us today: C:\Development\Projects 2010\Accounting\file20101130.csv, C:\Development\Projects 2010\Accounting\orders20101130.docx also we would like you to send C:\Development\Projects 2010\Accounting\customersupdated.xls thank you”; 结果将是: C:\Development\Projects 2010\Accounting\file20101130.csv C:\Development\Projects 2010\Accounting\orders20101130.docx C:\Development\Projects 2010\Accounting\customersupdated.xls 编辑:考虑到@Jim的内容,我编辑了字符串添加标签,以便更容易从字符串中提取所需的文件名!

正则表达式匹配冒号后的字符串

输入字符串是这样的:OU = TEST:This001。 我们需要额外的“This001”。 最好的C#。

在c#中处理粘贴事件

我已经创建了一个静态类数字文本框但我不想控制用户在te文本框中粘贴的内容。 对于处理粘贴事件我使用textchanged事件: static public void textChanged(EventArgs e, TextBox textbox, double tailleMini, double tailleMaxi, string carNonAutorisé) { //Recherche dans la TextBox, la première occurrence de l’expression régulière. Match match = Regex.Match(textbox.Text, carNonAutorisé); /*Si il ya une Mauvaise occurence: * – On efface le contenu collé * – On prévient l’utilisateur */ if (match.Success) { textbox.Text = […]

在N个部分中拆分html字符串

有没有人有一个分裂html字符串(来自一个小的mce编辑器)并使用C#将它分成N个部分的例子? 我需要均匀地分割字符串而不分割单词。 我想只是拆分html并使用HtmlAgilityPack尝试修复损坏的标签。 虽然我不确定如何找到分裂点,但理想情况下它应该基于文本上的purley而不是html。 谁有任何想法如何去做? UPDATE 根据要求,这是输入和所需输出的示例。 INPUT: Lorem ipsum dolor sit amet, consectetur adipiscing elit. 输出(当分成3个小组时): Part1: Lorem ipsum dolor Part2: sit amet, consectetur Part3: adipiscing elit. 更新2: 我刚刚玩过Tidy HTML,这似乎可以很好地修复损坏的标签,所以如果我能找到一种方法来找到拆分品牌,这可能是个不错的选择? 更新3 在.NET C#中对整个单词使用类似于此Truncate字符串的方法,我现在设法获得将构成每个部分的纯文本单词列表。 所以,比如说使用Tidy HTML我有一个有效的HTML结构,并给出了这个单词列表,任何人都知道现在最好的分割方法是什么? 更新4 任何人都可以看到使用正则表达式以下列方式使用HTML查找索引的问题: 给定纯文本字符串“sit amet,consectetur”,用正则表达式替换所有空格“(\ s | )*”,理论上找到包含空格和/或任何组合的字符串标签 然后我可以使用Tidy HTML修复损坏的html标签? 非常感谢 马特

使用Regex从字符串中删除标点符号

我对Regex很不好但是我想要删除所有这些。,;:”$’@!?/ *&^ – +字符串中的一个字符串 string x = “This is a test string, with lots of: punctuations; in it?!.”; 我怎样才能做到这一点 ?