簡體   English   中英

來自日志的 Java 模式匹配

[英]Java pattern matching from a log

我有一個看起來像這樣的日志。 我想只提取idcompartmentId ,即“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM