正则表达式用于多个关键字匹配

卫星

我遇到以下情况,其中我需要从以username=xxx;开头的字符串中获取用户名和密码password=yyy;

用户名或密码没有限制,只是;应该为每个关键字定界,并且用户名始终后跟username=,密码后始终跟password=

我试图构造以下内容,但是我设法只得到了部分想要的结果

set value "colour=blue;
age=25;
name=anthony;
username=firstuser;
username=hisuser;
password=test123"

set value2 "colour=blue;
age=25;
name=brothersofanthony;
username=seconduser;
password=test123;"

set value3 "username=user-3"

set value4 "username=user4"


regexp -nocase -- {\y(?:username=|password=)[a-z0-9]+} $value match match2
puts "value is $match and match2 is $match2"

regexp -nocase -- {\y(?:username=|password=)[a-z0-9]+} $value2 match match2
puts "value 2 is $match and match2 is $match2"

regexp -nocase -- {\y(?:username=|password=)[a-z0-9]+} $value3 match match2
puts "value 3 is $match and match2 is $match2"

regexp -nocase -- {\y(?:username=|password=)[a-z0-9]+} $value4 match match2
puts "value 4 is $match and match2 is $match2"

我正在尝试建立一个可以返回用户名和密码的正则表达式。使用上面的正则表达式,如果用户名[a-z0-9]实际上具有的用户名也可以是不同的符号(除了;它是分隔符),那么我只能设法获得带有正确结果的“用户名”

如果发现字符串中多次出现(例如对于value,有两个用户名,则应考虑第一个用户名)

上面的regexp的第二个问题是它不显示“ Password”值,它需要与用户名具有相同的条件。

我如何才能改善上述正则表达式?

杰瑞

在这种情况下,您需要将匹配项分开,否则将无法区分ausername或a password我建议使用一个正则表达式作为用户名,使用另一个正则表达式作为密码。接下来,更改regexp,使字符类[^;]+代替,[a-z0-9]+以匹配除以外的所有字符;

set value "colour=blue;
age=25;
name=anthony;
username=firstuser;
username=hisuser;
password=test123"

regexp -nocase -- {\yusername=([^;]+)} $value - username
regexp -nocase -- {\ypassword=([^;]+)} $value - password
puts $username
puts $password
# => firstuser
# => test123

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP正则表达式匹配多个关键字,其中last关键字是可选的

来自分类Dev

用于过滤具有多个关键字的特定 URL 的正则表达式

来自分类Dev

用于搜索特定关键字的正则表达式以及用于时间搜索的正则表达式

来自分类Dev

正则表达式:我无法为匹配关键字创建正则表达式吗?

来自分类Dev

使用一个或多个单词作为搜索关键字匹配一行的正则表达式

来自分类Dev

基于关键字过滤的正则表达式

来自分类Dev

Golang正则表达式以匹配关键字对之间的多种模式

来自分类Dev

在主题之前或之后出现关键字时进行正则表达式匹配

来自分类Dev

正则表达式以匹配静态关键字和变量

来自分类Dev

正则表达式以匹配不在<a>标签或alt属性内的关键字

来自分类Dev

正则表达式匹配特定上下文中的关键字

来自分类Dev

正则表达式按顺序匹配 2 个分隔的关键字

来自分类Dev

匹配正则表达式中不包括关键字的短语

来自分类Dev

用于数字集和关键字的Python正则表达式

来自分类Dev

用于从 url 中提取关键字的 Hive 正则表达式

来自分类Dev

使用正则表达式使用python 3.4获取多个关键字

来自分类Dev

正则表达式将多个组分配给关键字

来自分类Dev

使用正则表达式使用多个关键字进行拆分

来自分类Dev

匹配不具有相同单词的关键字的正则表达式出现在另一个关键字之前

来自分类Dev

使用正则表达式替换html标签和锚点(a)标签文本外部的匹配关键字

来自分类Dev

正则表达式可匹配关键字之间的所有内容(包括换行符)

来自分类Dev

使用正则表达式替换html标签和锚点(a)标签文本外部的匹配关键字

来自分类Dev

如何匹配带有或不带有关键字的多行日志条目(正则表达式)

来自分类Dev

使用正则表达式和替换强调字符串中的多个关键字

来自分类Dev

使用正则表达式的表单验证脚本可在换行符之间检查多个关键字

来自分类Dev

用于匹配多个实例的 JavaScript 正则表达式

来自分类Dev

非关键字标识符的正则表达式

来自分类Dev

正则表达式从创建的关键字替换为下一个&

来自分类Dev

R中的正则表达式-排除关键字

Related 相关文章

  1. 1

    PHP正则表达式匹配多个关键字,其中last关键字是可选的

  2. 2

    用于过滤具有多个关键字的特定 URL 的正则表达式

  3. 3

    用于搜索特定关键字的正则表达式以及用于时间搜索的正则表达式

  4. 4

    正则表达式:我无法为匹配关键字创建正则表达式吗?

  5. 5

    使用一个或多个单词作为搜索关键字匹配一行的正则表达式

  6. 6

    基于关键字过滤的正则表达式

  7. 7

    Golang正则表达式以匹配关键字对之间的多种模式

  8. 8

    在主题之前或之后出现关键字时进行正则表达式匹配

  9. 9

    正则表达式以匹配静态关键字和变量

  10. 10

    正则表达式以匹配不在<a>标签或alt属性内的关键字

  11. 11

    正则表达式匹配特定上下文中的关键字

  12. 12

    正则表达式按顺序匹配 2 个分隔的关键字

  13. 13

    匹配正则表达式中不包括关键字的短语

  14. 14

    用于数字集和关键字的Python正则表达式

  15. 15

    用于从 url 中提取关键字的 Hive 正则表达式

  16. 16

    使用正则表达式使用python 3.4获取多个关键字

  17. 17

    正则表达式将多个组分配给关键字

  18. 18

    使用正则表达式使用多个关键字进行拆分

  19. 19

    匹配不具有相同单词的关键字的正则表达式出现在另一个关键字之前

  20. 20

    使用正则表达式替换html标签和锚点(a)标签文本外部的匹配关键字

  21. 21

    正则表达式可匹配关键字之间的所有内容(包括换行符)

  22. 22

    使用正则表达式替换html标签和锚点(a)标签文本外部的匹配关键字

  23. 23

    如何匹配带有或不带有关键字的多行日志条目(正则表达式)

  24. 24

    使用正则表达式和替换强调字符串中的多个关键字

  25. 25

    使用正则表达式的表单验证脚本可在换行符之间检查多个关键字

  26. 26

    用于匹配多个实例的 JavaScript 正则表达式

  27. 27

    非关键字标识符的正则表达式

  28. 28

    正则表达式从创建的关键字替换为下一个&

  29. 29

    R中的正则表达式-排除关键字

热门标签

归档