René's URL Explorer Experiment


Title: -split operator doesn't let you use options SingleLine and MultiLine at the same time (and it should) · Issue #4712 · PowerShell/PowerShell · GitHub

Open Graph Title: -split operator doesn't let you use options SingleLine and MultiLine at the same time (and it should) · Issue #4712 · PowerShell/PowerShell

X Title: -split operator doesn't let you use options SingleLine and MultiLine at the same time (and it should) · Issue #4712 · PowerShell/PowerShell

Description: Steps to reproduce PS C:\> '' -split '', 0, 'singleline,multiline' The combination of options with the -split operator is not valid. + CategoryInfo : ParserError: (:) [], ParseException + FullyQualifiedErrorId : InvalidSplitOptionCombina...

Open Graph Description: Steps to reproduce PS C:\> '' -split '', 0, 'singleline,multiline' The combination of options with the -split operator is not valid. + CategoryInfo : ParserError: (:) [], ParseException + FullyQual...

X Description: Steps to reproduce PS C:\> '' -split '', 0, 'singleline,multiline' The combination of options with the -split operator is not valid. + CategoryInfo : ParserError: (:) [],...

Opengraph URL: https://github.com/PowerShell/PowerShell/issues/4712

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"-split operator doesn't let you use options SingleLine and MultiLine at the same time (and it should)","articleBody":"\u003c!--\r\n\r\nIf it is a bug report:\r\n- make sure you are able to repro it on the latest released version. \r\nYou can install the latest version from https://github.com/PowerShell/PowerShell/releases\r\n- Search the existing issues.\r\n- Refer to the [FAQ](../docs/FAQ.md).\r\n- Refer to the [known issues](../docs/KNOWNISSUES.md).\r\n- Fill out the following repro template\r\n\r\nIf it's not a bug, please remove the template and elaborate the issue in your own words.\r\n--\u003e\r\n\r\nSteps to reproduce\r\n---------------------\r\n\r\n```powershell\r\nPS C:\\\u003e '' -split '', 0, 'singleline,multiline'\r\nThe combination of options with the -split operator is not valid.\r\n    + CategoryInfo          : ParserError: (:) [], ParseException\r\n    + FullyQualifiedErrorId : InvalidSplitOptionCombination\r\n```\r\n\r\nBut it is not an invalid combination, they do different things, and it is common and useful to use them together.\r\n\r\nThe PowerShell spec v 3.0, section 7.8.4.5 \"Binary split operator\" says:\r\n\r\n\u003e [an options string] must not contain both Multiline and Singleline.\r\n\u003e Multiline: This mode recognizes the start and end of lines and strings. The default mode is Singleline.\r\n\r\nSingleline is not the default of Multiline, they are not two sides of the same option. Multiline changes how the regex characters `^` and `$` work with newlines in a string, and Singleline changes how the regex character `.` works with newlines in a string. It is valid to use both options to change both `^$` and `.` at the same time.\r\n\r\ne.g.\r\n\r\n```powershell\r\n$text = @'\r\na12a\r\nb34b\r\nc56c\r\nd78d\r\n'@\r\n\r\n# The following split fails, because '^' only matches the start of the entire string, \r\n# and 'b' is not at the start of the string:\r\n$text -split '^b'\r\n\r\n# Enable 'Multiline' mode and '^' now matches the start of each line in the string\r\n# and this now succeeds:\r\n$text -split '^b', $numSplits, 'multiline'\r\n\r\n# The following split fails, because '.+' only matches to the end of the line, and never gets to 'c'\r\n$text -split 'b.+c'\r\n\r\n# Enable 'Singleline' mode and '.' now matches over newlines\r\n# and this now succeeds:\r\n$text -split 'b.+c', $numSplits, 'singleline'\r\n\r\n# To combine them and match from \"the b at the start of a line,\r\n# over newlines and up to the last c\" needs both singleline and multiline options.\r\n# This fails and throws an exception:\r\n$text -split '^b.+c', $numSplits, 'singleline, multiline'\r\n\r\n# but you can turn both on at the same time using regex syntax:\r\n# so it can and does work, if you work around PowerShell:\r\n$text -split '(?ms)^b.+c'\r\n# splits on the text b34b`nc56c\r\n\r\n# and you can also do it with the options string passed to the [regex] accelerator:\r\n# This works, too:\r\nPS D:\\\u003e [regex]::Split($text, '^b.+c', 'singleline,multiline')\r\na12a\r\n\r\n\r\nd78d\r\n```\r\n\r\nThe documentation in `Get-Help about_split` is also incorrect:\r\n\r\n\u003e          -- Multiline: Multiline mode recognizes the start and end of lines\r\n\u003e             and strings. Valid only with RegexMatch. Singleline is the default.\r\n\u003e\r\n\u003e          -- Singleline: Singleline mode recognizes only the start and end of\r\n\u003e             strings. Valid only with RegexMatch. Singleline is the default.\r\n\r\n\r\n - [Link to source code of parserutils.cs where the error is thrown](https://github.com/PowerShell/PowerShell/blob/7a55bf98b2370ab4817ab2533cb67673053ee446/src/System.Management.Automation/engine/lang/parserutils.cs#L726)\r\n\r\n - [Link to source code of parserutils.cs where the comment in the SplitOptionsEnum has the same inaccurate suggestion that one is the default setting of the other](https://github.com/PowerShell/PowerShell/blob/7a55bf98b2370ab4817ab2533cb67673053ee446/src/System.Management.Automation/engine/lang/parserutils.cs#L295)\r\n\r\nExpected behavior\r\n-----------------\r\n\r\nSpecifying an options string `'singleline,multiline'` is valid, and enables both Singleline and Multiline mode.\r\n\r\nThe documentation is accurate.\r\n\r\nActual behavior\r\n---------------\r\n\r\nIt throws an exception and misleadingly says they are invalid together.\r\n\r\nThe documentation is inaccurate in three senses - implying there is one option being set instead of two, implying Singleline is the opposite of Multiline, and stating Singleline \"is the default\" when Singleline itself is off by default.\r\n\r\nEnvironment data\r\n----------------\r\n\r\n\u003c!-- provide the output of $PSVersionTable --\u003e\r\n\r\n```powershell\r\n\u003e $PSVersionTable\r\nName                           Value\r\n----                           -----\r\nPSVersion                      6.0.0-beta\r\nPSEdition                      Core\r\nGitCommitId                    v6.0.0-beta.6\r\nOS                             Linux 2.6.32-042stab120.6 #1 SMP Thu Oct 27 16:59:03 MSK 2016\r\nPlatform                       Unix\r\nPSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}\r\nPSRemotingProtocolVersion      2.3\r\nSerializationVersion           1.1.0.1\r\nWSManStackVersion              3.0\r\n```","author":{"url":"https://github.com/HumanEquivalentUnit","@type":"Person","name":"HumanEquivalentUnit"},"datePublished":"2017-08-30T23:39:03.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":2},"url":"https://github.com/4712/PowerShell/issues/4712"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:f2ee6e4e-969d-80e3-d8f9-7a7a8aeb2856
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-id851A:37F578:6314530:8BFDEC5:6A575180
html-safe-nonce3225095e901d9d6e002c22539db539f35dafd679ae25d4d254a2766855758368
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NTFBOjM3RjU3ODo2MzE0NTMwOjhCRkRFQzU6NkE1NzUxODAiLCJ2aXNpdG9yX2lkIjoiNzQxMDc4MzEwNTQyNTI5Nzc5MiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmace981dc220a696d21ab269b03b8bd82eb772bbbbb0d238d667f789fe55e5c3b00
hovercard-subject-tagissue:254166591
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/PowerShell/PowerShell/4712/issue_layout
twitter:imagehttps://opengraph.githubassets.com/00a99873efcee5501e0007b6b70f941b08f52c4a013b2feeafd29f248317caa0/PowerShell/PowerShell/issues/4712
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/00a99873efcee5501e0007b6b70f941b08f52c4a013b2feeafd29f248317caa0/PowerShell/PowerShell/issues/4712
og:image:altSteps to reproduce PS C:\> '' -split '', 0, 'singleline,multiline' The combination of options with the -split operator is not valid. + CategoryInfo : ParserError: (:) [], ParseException + FullyQual...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameHumanEquivalentUnit
hostnamegithub.com
expected-hostnamegithub.com
None4e7a7296a3830877cf21a6ad2a972c9e618a48915e03966cf0c53eb08e5aad98
turbo-cache-controlno-preview
go-importgithub.com/PowerShell/PowerShell git https://github.com/PowerShell/PowerShell.git
octolytics-dimension-user_id11524380
octolytics-dimension-user_loginPowerShell
octolytics-dimension-repository_id49609581
octolytics-dimension-repository_nwoPowerShell/PowerShell
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id49609581
octolytics-dimension-repository_network_root_nwoPowerShell/PowerShell
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release602250ea3b6dd8302a7220ef98adb828dbc807e4
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/PowerShell/PowerShell/issues/4712#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FPowerShell%2FPowerShell%2Fissues%2F4712
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FPowerShell%2FPowerShell%2Fissues%2F4712
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=PowerShell%2FPowerShell
Reloadhttps://github.com/PowerShell/PowerShell/issues/4712
Reloadhttps://github.com/PowerShell/PowerShell/issues/4712
Reloadhttps://github.com/PowerShell/PowerShell/issues/4712
Please reload this pagehttps://github.com/PowerShell/PowerShell/issues/4712
PowerShell https://github.com/PowerShell
PowerShellhttps://github.com/PowerShell/PowerShell
Notifications https://github.com/login?return_to=%2FPowerShell%2FPowerShell
Fork 8.4k https://github.com/login?return_to=%2FPowerShell%2FPowerShell
Star 54.4k https://github.com/login?return_to=%2FPowerShell%2FPowerShell
Code https://github.com/PowerShell/PowerShell
Issues 1.2k https://github.com/PowerShell/PowerShell/issues
Pull requests 288 https://github.com/PowerShell/PowerShell/pulls
Discussions https://github.com/PowerShell/PowerShell/discussions
Actions https://github.com/PowerShell/PowerShell/actions
Projects https://github.com/PowerShell/PowerShell/projects
Security and quality 3 https://github.com/PowerShell/PowerShell/security
Insights https://github.com/PowerShell/PowerShell/pulse
Code https://github.com/PowerShell/PowerShell
Issues https://github.com/PowerShell/PowerShell/issues
Pull requests https://github.com/PowerShell/PowerShell/pulls
Discussions https://github.com/PowerShell/PowerShell/discussions
Actions https://github.com/PowerShell/PowerShell/actions
Projects https://github.com/PowerShell/PowerShell/projects
Security and quality https://github.com/PowerShell/PowerShell/security
Insights https://github.com/PowerShell/PowerShell/pulse
-split operator doesn't let you use options SingleLine and MultiLine at the same time (and it should)https://github.com/PowerShell/PowerShell/issues/4712#top
Issue-Enhancementthe issue is more of a feature request than a bughttps://github.com/PowerShell/PowerShell/issues?q=state%3Aopen%20label%3A%22Issue-Enhancement%22
Resolution-FixedThe issue is fixed.https://github.com/PowerShell/PowerShell/issues?q=state%3Aopen%20label%3A%22Resolution-Fixed%22
WG-Languageparser, language semanticshttps://github.com/PowerShell/PowerShell/issues?q=state%3Aopen%20label%3A%22WG-Language%22
https://github.com/HumanEquivalentUnit
HumanEquivalentUnithttps://github.com/HumanEquivalentUnit
on Aug 30, 2017https://github.com/PowerShell/PowerShell/issues/4712#issue-254166591
Link to source code of parserutils.cs where the error is thrownhttps://github.com/PowerShell/PowerShell/blob/7a55bf98b2370ab4817ab2533cb67673053ee446/src/System.Management.Automation/engine/lang/parserutils.cs#L726
Link to source code of parserutils.cs where the comment in the SplitOptionsEnum has the same inaccurate suggestion that one is the default setting of the otherhttps://github.com/PowerShell/PowerShell/blob/7a55bf98b2370ab4817ab2533cb67673053ee446/src/System.Management.Automation/engine/lang/parserutils.cs#L295
Issue-Enhancementthe issue is more of a feature request than a bughttps://github.com/PowerShell/PowerShell/issues?q=state%3Aopen%20label%3A%22Issue-Enhancement%22
Resolution-FixedThe issue is fixed.https://github.com/PowerShell/PowerShell/issues?q=state%3Aopen%20label%3A%22Resolution-Fixed%22
WG-Languageparser, language semanticshttps://github.com/PowerShell/PowerShell/issues?q=state%3Aopen%20label%3A%22WG-Language%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.