Java 用于密码套件匹配的正则表达式
我需要用java设计一个正则表达式来匹配JavaEE服务器上配置的密码套件列表,例如Java 用于密码套件匹配的正则表达式,java,regex,Java,Regex,我需要用java设计一个正则表达式来匹配JavaEE服务器上配置的密码套件列表,例如 TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA256, -TLS_ECDH_RSA_WITH_RC4_128_SHA, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA256 这些要求是: 匹配所有密码套件包含中间的RC4或MD5字,如 TLSsECDHEYEXSAX,RC4Y128SH256< /
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA256, -TLS_ECDH_RSA_WITH_RC4_128_SHA, TLS_ECDHE_ECDSA_WITH_RC4_128_SHA256
这些要求是:
TLS_ECDHE_RSA_与_3DES_EDE_CBC_SHA
(以SHA结尾)
TLS\u ECDHE\u ECDSA\u带RC4\u 128\u SHA256
(中间带RC4)
-TLS\u ECDH\u RSA\u和\u RC4\u 128\u SHA
不应包括在内,因为它以“-”开头
我尝试了以下方法:
(?<!-)\b([a-zA-Z0-9_]+)\b(?<=RC4|MD5|SHA)
(?
最后匹配<代码> SHA/代码>,但在<>代码> RC4和 MD5 中间不适用。
您能帮我演示如何创建这样的正则表达式吗?提前感谢您的帮助。一个选项是使用\w
匹配单词字符
(?<!-)\b(?:\w+(?:RC4|MD5)\w+|\w+SHA)\b
非常感谢@TheFirst bird。这很有帮助。Regex有许多工作原理稍有不同的实现。它是哪种编程语言/Regex方言?尝试或类似,并分享您的示例。Java是编程语言。regex101.com是我最喜欢的测试Regex的网站,但是,我对Regex的了解有限,因此我需要了解更多。
(?<!-)\b(?:(?:[^\W_]+_)+(?:RC4|MD5)(?:_[^\W_]+)+|(?:[^\W_]+_)+SHA)\b