Sign in to follow this  
Followers 0
wisem2540

regexp help

5 posts in this topic

I have a block of text, as follows

File-based write filter configuration for the current session:
    filter state: enabled.
    overlay cache data compression state: enabled.
    overlay cache threshold: 128 MB.
    overlay cache pre-allocation: disabled.
    size display: actual mode.
    protected volume list: (none)
    write through list of each protected volume:

File-based write filter configuration for the next session:
    filter state: enabled.
    overlay cache data compression state: enabled.
    overlay cache threshold: 128 MB.
    overlay cache pre-allocation: disabled.
    size display: actual mode.
    protected volume list: (none)
    write through list of each protected volume:

All I want to return is Current session filter state, like this piece...

File-based write filter configuration for the current session:
    filter state: enabled.

 

I figure I could end at the period after "Enabled"

So I tried this...

File-based write filter configuration for the current session:([^/]+)\.

However, this returns all the way to file FINAL period in the block of text.  I want it to stop at the FIRST period.  Can anyone help?

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

Something like this ?

#Include <Array.au3>

$sText = "File-based write filter configuration for the current session:" & @CRLF &  _ 
         "filter state: enabled." & @CRLF &  _ 
         "overlay cache data compression state: enabled." & @CRLF &  _ 
         "overlay cache threshold: 128 MB." & @CRLF &  _ 
         "overlay cache pre-allocation: disabled." & @CRLF &  _ 
         "size display: actual mode." & @CRLF &  _ 
         "protected volume list: (none)" & @CRLF &  _ 
         "write through list of each protected volume:" & @CRLF &  _ 
         @CRLF &  _ 
         "File-based write filter configuration for the next session:" & @CRLF &  _ 
         "filter state: enabled." & @CRLF &  _ 
         "overlay cache data compression state: enabled." & @CRLF &  _ 
         "overlay cache threshold: 128 MB." & @CRLF &  _ 
         "overlay cache pre-allocation: disabled." & @CRLF &  _ 
         "size display: actual mode." & @CRLF &  _ 
         "protected volume list: (none)" & @CRLF &  _ 
         "write through list of each protected volume:"

ConsoleWrite($sText)


$aFilterSession = StringRegExp($sText, "(?i)File-based write filter configuration for the current session:\R\h*filter state:\h*([^.]+)", 1)

; or
; $aFilterSession = StringRegExp($sText, "(?is)current session:.+?((?:en|dis)+abled)", 1)
; or ... else ...

_ArrayDisplay($aFilterSession)
Edited by jguinch

Share this post


Link to post
Share on other sites

wisem2540,

Or perhaps this: :)

$sText = "File-based write filter configuration for the current session:" & @CRLF &  _
         "filter state: enabled." & @CRLF &  _
         "overlay cache data compression state: enabled." & @CRLF &  _
         "overlay cache threshold: 128 MB." & @CRLF &  _
         "overlay cache pre-allocation: disabled." & @CRLF &  _
         "size display: actual mode." & @CRLF &  _
         "protected volume list: (none)" & @CRLF &  _
         "write through list of each protected volume:" & @CRLF &  _
         @CRLF &  _
         "File-based write filter configuration for the next session:" & @CRLF &  _
         "filter state: enabled." & @CRLF &  _
         "overlay cache data compression state: enabled." & @CRLF &  _
         "overlay cache threshold: 128 MB." & @CRLF &  _
         "overlay cache pre-allocation: disabled." & @CRLF &  _
         "size display: actual mode." & @CRLF &  _
         "protected volume list: (none)" & @CRLF &  _
         "write through list of each protected volume:"

$sFilterSession = StringRegExpReplace($sText, "(?Us)^(.*\.).*$", "$1")

ConsoleWrite($sFilterSession & @CRLF)
M23

Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind._______My UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Share this post


Link to post
Share on other sites

#4 ·  Posted (edited)

$sFilterSession = StringRegExp($sText, "(?is)current.*?state:\h*([^.]+)", 1)[0]
Msgbox(0,"", $sFilterSession)

:)

Edited by mikell

Share this post


Link to post
Share on other sites

I used Mikell's example.

Thank you all!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0