我的回复在2个地方具有相同的值
public boolean isEmpty() {
// Gets validator instance from factory
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
validator = factory.getValidator();
// Validates 'this' using only fields belonging to the MyCustomIsEmpty group
Set<ConstraintViolation<MyClass>> constraintViolations = validator.validate(this, MyCustomIsEmpty.class);
// there are lots of fancy things you could do but this covers your case
return constraintViolations.isEmpty();
}
在这种情况下,我只需要捕获一次123456和784217。
我使用正则表达式作为http://images.123456_120*75
http://images.123456_120*75
http://images.784217_120*75
http://images.784217_120*75
来提取所有4个值。但是我担心的是,我需要每个2个值中的一个。你能帮我吗
在此先感谢?
答案 0 :(得分:0)
答案 1 :(得分:0)
使用正则表达式执行此操作非常棘手,我建议改为使用JSR223 PostProcessor和Groovy language。
将以下代码放入“脚本”区域
(prev.getResponseDataAsString() =~ "http://images.(\\d+)_120\\*75").findAll().unique().eachWithIndex {match, idx ->
vars.put('image_' + idx,match.get(1))
}
如果一切顺利,您应该看到生成了以下JMeter Variables:
image_0=123456
image_1=784217
etc.
答案 2 :(得分:0)
这应该起作用,它只捕获一次唯一值:
(\d+)(?:_)(?![\s\S]*\1)
说明
(\d+)(?:_)(?![\s\S]*\1)
第一个捕获组 (\d+)
\d+
匹配一个数字(等于[0-9]
)
非捕获组 (?:_)
_
从字面上匹配字符_
(区分大小写)
负前瞻 (?![\s\S]*\1)
声明以下正则表达式不匹配
匹配[\s\S]*
\s
匹配任何空白字符(等于[\r\n\t\f\v ]
)
\S
匹配任何非空白字符(等于[^\r\n\t\f\v ]
)
\1
与第一个捕获组最近匹配的文本匹配
答案 3 :(得分:0)
也许您可以在一个组中捕获整个比赛,并在第二个组中捕获数字。然后,使用否定的前瞻方式断言在第1组中捕获的内容不再发生,从而为您提供了唯一的值。
您要匹配的数字在捕获组2中。请注意,要从字面上匹配点class Appointments : AppCompatActivity() {
lateinit var tv:TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_appointments)
tv = findViewById(R.id.textView4)
tv.setOnClickListener(View.OnClickListener {
var callIntent = Intent(Intent.ACTION_EDIT)
.setType("vnd.android.cursor.item/event")
startActivityForResult(callIntent, 3);
})
}
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if(requestCode == 3 && resultCode == Activity.RESULT_OK && data!=null){
Toast.makeText(this@Appointments,"Some data came",Toast.LENGTH_SHORT).show()
} else{
Toast.makeText(this@Appointments,"Some Error",Toast.LENGTH_SHORT).show()
}
}
}
和星号.
,您必须对其进行转义。
*