PowerShell - regex to get string between two strin

2019-06-26 15:51发布

I'm not very experienced in Regex. Can you tell me how to get a string value from between two strings?

The subject will always be in this format : //subject/some_other_stuff

I need to get the string found between // and /.

For example:

Full String = //Manhattan/Project

Output = Manhattan

Any help will be very much appreciated.

3条回答
戒情不戒烟
2楼-- · 2019-06-26 16:24

You can use a negated character class and reference capturing group #1 for your match result.

//([^/]+)/

Explanation:

//         # '//'
(          # group and capture to \1:
  [^/]+    #   any character except: '/' (1 or more times)
)          # end of \1
/          # '/'
查看更多
The star\"
3楼-- · 2019-06-26 16:26

You could use the below regex which uses lookarounds.

(?<=\/\/)[^\/]+(?=\/)
查看更多
戒情不戒烟
4楼-- · 2019-06-26 16:50

Since the strings are always of the same format, you can simply split them on / and then retrieve the element at index 2 (the third element):

PS > $str = "//Manhattan/Project"
PS > $str.split('/')[2]
Manhattan
PS > $str = "//subject/some_other_stuff"
PS > $str.split('/')[2]
subject
PS >
查看更多
登录 后发表回答