Hamcrest模式匹配令牌

时间:2014-12-25 09:39:23

标签: java regex hamcrest

假设我有一个动态生成的令牌(406个字符长度),例如。他们:

1

WqRj7U0czOLwNAKL9KVnBQR57NEnJbv77MYFkiiE20iTiOWHZV2N186VYT8-PjJSeHRLq9IvSwclR4zdk2jpJTjCIlTjlpfyiWs-tJ0taguM6BLNEoQenb2admoEw-cVlha6cGZqOklsPaBEZV-ASV5OE4Ig9dc77qsUs08vTKrYwwUjhjxDqsxyL7d0bvkrxHYaRL9EHMniAyd4j1pd5O89wC3hULYcHRRb6NSyZX1CnMBLySjgMFz3PZS8OEZoTv5KzaHrOCvwtSxmPEIYKJ2nLRY55LREyUkt6OLuo49hvoZPwZ5iiT-lJeqXNBELO1iyMHekCSZF7pZTu-XSKPT2TUC0GUy70rKJn55Xek3l3x4urb0tu78POejDFCP4RDJK7N0ms5_47gOE5DsQJg

2

W2zTQG5BjRjV7d3MFuls6x0-2TwbFVeod-0TSquLWre17mZRq9vSXkEbVhH1Gdt2ldiNTtO2VDLT6cSi0mNm2zjAR3Er5RWfxx2CkKHzlawWL9tCua8Zr0F-OulyqFpO5WAI6Wunr3PH2aTCtM6GpLF2nKougAA_PZmmoo_DSNG5MkQd8btfizifWj2KFSNbwKzHcNVn0lDr_GoXsClQuciEXxgS947dkWlpwkMrFGyG-mG_yuIqP1SbOaz5jqfnDxbc1rWMBdqRjZYvckmiP5BYuu1jsIUHHcnxj682iB5BHuWEyXOGWFslj5zkkx7uSuhbigZT0HTHy1PIZa61NwuBTGlTllb2Idjzw0p2tkxGzgzRJSduXGOemEpvHuIYrqNCqnkmkfhfHmSZKhHgFQ

3

97oThwfU1csWiwfi2LoDp5f90ycaq2H2sldGnbZioIbXnzylPT5UIpbyBrN3uNQQPeDQt0O7isFfNKQNWKklt9OwZgooVeM2jzz7-5rAA2fsiGHMStR2yfnwkYB1mT7XOrUpbmdUqhnXoz5gZCvCQnQof4S0R8V4UzEouRDqRJ4Pb7ICIu2mnUKaI9Ph80Kv_nILPEc3Lq-dmwVsiIvqve3R_pxrMAyock0IdFMQTGlZwsiSgbw17KRMRb55wNzFseP4PD_fXDXnwXOfMT-xhurh-by4T1YrE2F4lXiwv5GQm5RF8rJ2Ghol6eBhwZI-ijJipPaaRuYyWABXE22ak29Dq8HFRzvdfKfx0IUs7_dZLNkHuigmNKakaCCpWrvQg3GuFSEhgkybN3DphlsyaQ

我试图通过带有正则表达式的hamcrest来验证这一点,但是我无法使其工作,而且我确实知道使用简单的正则表达式它将是[\w\W]+并且它会匹配它,但是编译它之后以某种方式给出了\[\w\W\]+,当然它不会起作用。这是一个现有的功能,我需要为新的测试集调整它,所以使用其他库不是一个好主意。

顺便说一句,我搜索了一个关于这个的好文档,并且找不到关于在hamcrest中使用正则表达式匹配字符串的模式,只有Java代码,但这不是我需要的。如果有人在指出正确的模式时指出正确的方向,那就太好了。

1 个答案:

答案 0 :(得分:2)

你需要为字符类添加一个转义符,因为hamcrest会尝试转义它,否则:

\\[\\w\\W\\]+

- 如果没有转义方括号,结果将是:

\[\W\w\]+