[英]Java pattern matching from a log
我有一個看起來像這樣的日志。 我想只提取id和compartmentId ,即“ocid1.compartment.oc1..aaaaaaaacbo75pldukgsvt6a54jxws4ywrh4gh5nnflykzfuajxicuym7pla”和“ocid1.tenancy.oc1..aaaaaaaxnzexdpskbmudhtcfya4qtoyz5qzvwjqz56sjregusdxhopuyd3a”前綴。它可以有很多“occurrencedxhopuyd3a” oc1”或“ocid1.tenancy.oc1”
以下是日志示例----
Compartment(id=ocid1.compartment.oc1..aaaaaaaacbo75pldukgsvt6a54jxws4ywrh4gh5nnflykzfuajxicuym7pla, compartmentId=ocid1.tenancy.oc1..aaaaaaaaxnzexdpskbmudhtcfya4qtoyz5qzvwjqz56sjregusdxhopuyd3a, name=cdr-sandbox.kzJ7ZeWt, description=....CreatedOn=2020-05-26T17:43:32.343Z}}, __explicitlySet__=[compartmentId, lifecycleState, name, description, timeCreated, id, definedTags, freeformTags])
Compartment(id=ocid1.compartment.oc1..aaaaaaaaymeyk2zu5iodrhwnhhgcw5ory7vozx6ozhoxveowik767wv5zfaq, compartmentId=ocid1.tenancy.oc1..aaaaaaaaxnzexdpskbmudhtcfya4qtoyz5qzvwjqz56sjregusdxhopuyd3a, name=cp-1.wbTRj4co, description=CP-1, timeCreated=Thu Jul 30 13:06:12 IST 2020, lifecycleState=Deleted, inactiveStatus=null, isAccessible=null, freeformTags={}, CreatedOn=2020-07-30T07:36:12.218Z}}, __explicitlySet__=[compartmentId, lifecycleState, name, description, timeCreated, id, definedTags, freeformTags])
您可以嘗試使用String#replaceAll
作為單行選項:
String log = "Compartment(id=ocid1.compartment.oc1..aaaaaaaacbo75pldukgsvt6a54jxws4ywrh4gh5nnflykzfuajxicuym7pla, compartmentId=ocid1.tenancy.oc1..aaaaaaaaxnzexdpskbmudhtcfya4qtoyz5qzvwjqz56sjregusdxhopuyd3a, name=cdr-sandbox.kzJ7ZeWt, description=....CreatedOn=2020-05-26T17:43:32.343Z}}, __explicitlySet__=[compartmentId, lifecycleState, name, description, timeCreated, id, definedTags, freeformTags])";
String id = log.replaceAll(".*\\bid=([^,]+).*", "$1");
String compartmentId = log.replaceAll(".*\\bcompartmentId=([^,]+).*", "$1");
System.out.println("id = " + id);
System.out.println("compartmentId = " + compartmentId);
這打印:
id = ocid1.compartment.oc1..aaaaaaaacbo75pldukgsvt6a54jxws4ywrh4gh5nnflykzfuajxicuym7pla
compartmentId = ocid1.tenancy.oc1..aaaaaaaaxnzexdpskbmudhtcfya4qtoyz5qzvwjqz56sjregusdxhopuyd3a
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.