字符串变量作为 Regex() 构造函数中的模式

1_bug

我不能在字符串变量中使用模式,因为正则表达式从不匹配。

让我描述一下我想要达到的目标。我有一个服务,它返回密码的字符串模式。假设当前的模式是:

\\b(?=.*?[A-Z])(?=.*?[0-9]).{6,}\\b

这意味着密码需要包含至少 6 个字符,一位数字和一个大写字母。我通过以下方式对其进行测试:

string passwordPattern = "\\b(?=.*?[A-Z])(?=.*?[0-9]).{6,}\\b";
var rgxPasswordPattern = new Regex(passwordPattern);
var result = rgxPasswordPattern.IsMatch("Password1");

if(result)
    Console.Write("Password match!");
else
    Console.Write("Password doesn't match!");

它有效,您可以在这里尝试:https : //dotnetfiddle.net/FNzZjh

当我在我的环境中使用上面的代码时会出现问题。唯一的区别是我获取密码模式的方式:

string passwordPattern = _signInService.GetPasswordPattern();

我注意到passwordPattern包含用引号包裹的模式:在此处输入图片说明

rgxPasswordPattern也会导致包含引号:在此处输入图片说明

因此,我通过passwordPattern.Substring(1, passwordPattern.Length - 2)以下方式从模式中删除了引号

在此处输入图片说明

并检查rgxPasswordPattern变量:在此处输入图片说明

是的,没有额外的引号。但是密码仍然与模式不匹配!在此处输入图片说明

怎么可能?我不知道我还能做什么。模式很好,在dotnetfiddle.net 中有效,但在我的环境无效

我会感谢每一个建议。

亚历山大

这条线

string passwordPattern = "\\b(?=.*?[A-Z])(?=.*?[0-9]).{6,}\\b";

在 C# 中意味着passwordPattern实际上包含以下字符串

\b(?=.*?[A-Z])(?=.*?[0-9]).{6,}\b //notice backslahes count

在 C# 中定义字符串时,反斜杠会转义以下字符。因此,如果您想向\字符串添加字符,则必须在那里放置双反斜杠\\因此,您的服务的问题在于它在模式中返回了额外的反斜杠。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python Regex模式/函数未从我的数据字符串中检索数据

来自分类Dev

REGEX字符串中的特殊字符

来自分类Dev

使用函数的输出作为字符串变量

来自分类Dev

使用带变量的字符串作为函数名

来自分类Dev

针对Java中的RegEx模式测试字符串

来自分类Dev

在Ruby中为Regex模式生成字符串

来自分类Dev

使用Regex识别字符串中的模式

来自分类Dev

Java RegEx 否定模式中的部分字符串

来自分类Dev

模式匹配Erlang字符串作为函数中的列表

来自分类Dev

变量作为字符串中的指数(八度)

来自分类Dev

字符串变量值作为类型中的属性

来自分类Dev

与字符串相反,Ng模式中的RegEx在字符串中时的行为不同

来自分类Dev

regex:字符串中的最小位数

来自分类Dev

字符串-REGEX中的xy

来自分类Dev

Notepad ++中的RegEx字符串格式

来自分类Dev

regex:字符串中的最小位数

来自分类Dev

PHP中的RegeX捕获字符串

来自分类Dev

使用Python中的regex提取字符串并分配给变量

来自分类Dev

Python RegEx搜索从字符串中查找变量值

来自分类Dev

使用Regex在字符串中的特殊字符串中查找特殊字符串

来自分类Dev

在数据框列中按字符串列出变量作为字符串

来自分类Dev

REGEX,在字符串中查找包含字符串的字符串

来自分类Dev

Javascript 中的字符串构造函数

来自分类Dev

在给出NameError的函数中输入字符串参数作为变量

来自分类Dev

使用模板字符串(ES6)作为函数中的返回变量

来自分类Dev

如何将字符串作为参数传递给需要R中的变量的函数

来自分类Dev

如何在函数内部使用R字符向量元素作为字符串和变量?

来自分类Dev

使用常量字符串作为Enum构造函数参数

来自分类Dev

当我们将字符串变量作为ref参数传递给函数并在函数中更改字符串变量的值时

Related 相关文章

  1. 1

    Python Regex模式/函数未从我的数据字符串中检索数据

  2. 2

    REGEX字符串中的特殊字符

  3. 3

    使用函数的输出作为字符串变量

  4. 4

    使用带变量的字符串作为函数名

  5. 5

    针对Java中的RegEx模式测试字符串

  6. 6

    在Ruby中为Regex模式生成字符串

  7. 7

    使用Regex识别字符串中的模式

  8. 8

    Java RegEx 否定模式中的部分字符串

  9. 9

    模式匹配Erlang字符串作为函数中的列表

  10. 10

    变量作为字符串中的指数(八度)

  11. 11

    字符串变量值作为类型中的属性

  12. 12

    与字符串相反,Ng模式中的RegEx在字符串中时的行为不同

  13. 13

    regex:字符串中的最小位数

  14. 14

    字符串-REGEX中的xy

  15. 15

    Notepad ++中的RegEx字符串格式

  16. 16

    regex:字符串中的最小位数

  17. 17

    PHP中的RegeX捕获字符串

  18. 18

    使用Python中的regex提取字符串并分配给变量

  19. 19

    Python RegEx搜索从字符串中查找变量值

  20. 20

    使用Regex在字符串中的特殊字符串中查找特殊字符串

  21. 21

    在数据框列中按字符串列出变量作为字符串

  22. 22

    REGEX,在字符串中查找包含字符串的字符串

  23. 23

    Javascript 中的字符串构造函数

  24. 24

    在给出NameError的函数中输入字符串参数作为变量

  25. 25

    使用模板字符串(ES6)作为函数中的返回变量

  26. 26

    如何将字符串作为参数传递给需要R中的变量的函数

  27. 27

    如何在函数内部使用R字符向量元素作为字符串和变量?

  28. 28

    使用常量字符串作为Enum构造函数参数

  29. 29

    当我们将字符串变量作为ref参数传递给函数并在函数中更改字符串变量的值时

热门标签

归档