get-help -Full about_reg* | less -i
"B550410S01" -match "b\d{2}......."
Format Conversation Data
07/28/2012 14:11:13 John Doe: hi guys 07/28/2012 14:11:17 Jane Doh: hi
$Conversation = Get-Content C:\Scripts\Conversation.txt
$DateTimePatern = "^\d{2}/\d{2}/\d{4}\s{1}\d{2}:\d{2}:\d{2}\s{1}"
$Messages =@()
foreach ($line in $Conversation)
{
#check if the line starts with a datestamp
if ($line -match $DateTimePatern)
{
#Write previous line
if ($Message.DateTime -ne $null)
{
$Messages += $Message
}
#Add new values
$Message = {} | Select "DateTime","Person","MessageData"
#Reformat Date from MM/DD/YYYY to DD/MM/YYY
$Message.DateTime = ($line.substring(0,19) -replace "(\d+)/(\d+)/(\d+)", '$2/$1/$3')
$Message.Person = $line.substring(20).split(":")[0]
$Message.MessageData = $line.substring(20 + $Message.Person.Length + 2)
}
else
{
#add extra lines that do not begin with a datestamp to messagedata sepearate by a space
$Message.MessageData += " $line"
}
}
$Messages | Export-Csv -NoTypeInformation C:\Scripts\Conversation.csv
#$Messages | Group-Object -Property Person | sort -desc count | select count, Name |